【Maixduino】今日の進捗

ハードウェアPWMのコードを書き、ビルドまで通った。

必要なヘッダファイルと関数の使い方がわかった。

また、タイマのPWM出力をGPIOのどの端子へ設定するか、マッピングの仕方もわかった。Maixduino は、Arduinoフォームファクターに合わせているため、入出力ピンの数がかなり少ない。注意が必要。

Maixduino · kzono/RISC-V Wiki · GitHub

ピン配置の情報もなんとか見つけた。

http://acoptex.com/uploads/maixduino_pins.png

自力でコネクタに繋がっているピンを確認するには、公開されている回路図を確認する必要がある。

 

Maixpy IDE から公開されているデモコード(カメラの画像をLCDへ表示する)の実行を確認できた。

 

しかし、VSCode + PlatformIO でビルドはできたがダウンロードに失敗した。

```

CURRENT: upload_protocol = kflash
Looking for upload port...
Auto-detected: /dev/ttyUSB0
Uploading .pio/build/sipeed-maixduino/firmware.bin
Traceback (most recent call last):
File "/home/kzoo/.platformio/packages/tool-kflash-kendryte210/kflash.py", line 13, in <module>
import argparse
File "/usr/lib/python3.6/argparse.py", line 89, in <module>
import re as _re
File "/home/kzoo/.platformio/penv/lib/python3.6/re.py", line 142, in <module>
class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'
*** [upload] Error 1

```

これの原因調査は明日以降。割り込みやPWM等を使うには micropython ではなく C言語でコードを書きたいので、platformio な環境から書き込みに成功したい。

あ、コマンドラインから kflash で書き込めるかを先に検証すべきかも。