Open4

WioTerminal開発環境の準備

okuokuokuoku

WioTerminalとMaix Amigoが届いたので、C開発環境をCygwin上に構築していく。

https://qiita.com/okuoku/items/7593f648e235e537a29e

ESP32は真面目なC開発環境が予めポータブルな形で用意されていたので手順通りにツールチェーン等ビルドすれば終わっていたが、WioTerminalやMaix Amigoは基本的にArduinoIDEや専用のPython開発環境を使うのが前提なのでなかなか難しい。

okuokuokuoku

Wi-Fi/BLEチップのファームウェア更新

まず、ファームウェアには 日本版が存在する のでそっちを書かないといけない。

手順は基本的に本家Wiki https://wiki.seeedstudio.com/Wio-Terminal-Network-Overview/ の通りで良いが、

  1. 書き込みツールは https://github.com/Seeed-Studio/ambd_flash_tool からチェックアウトできるが、 CygwinのGitでチェックアウトした場合手動で chmod +x して廻る必要がある (あとCygwinを再配布するときはLGPLも再配布しないといけない)
  2. ファームウェアは https://github.com/Seeed-Studio/seeed-ambd-firmware/releases から _JP の付いたアーカイブをDLし、リポジトリのファイルに上書きする
  3. 元々書かれていたArduinoスケッチは消去される

この書き込みツールで使われているArduinoスケッチはWikiの方に解説がある:

https://wiki.seeedstudio.com/jp/Wio-Terminal-8720-dev/

okuokuokuoku

ライターはCygwinで上手く動かず

適当にパッチしてみたけどボーレート検出がうまく行かず。

https://github.com/okuoku/BOSSA/commit/bcc46def0d777c635ae4ce9bf819d23e766109c1

まぁこれはArduino側のライタで良いか。。

/cygdrive/c/Users/oku/AppData/Local/Arduino15/packages/Seeeduino/tools/bossac/1.8.0-48-gb176eee/bossac.exe -i -d --port=COM11 -w -v --offset=0x4000 ./Blink.ino.wio_terminal.bin

今のところリセットx2でブートローダモードに手で移行しないと上手くいっていない。面倒なのでなんとかしたいところ。。あと、このブートローダモードはMSのUF2形式( https://github.com/microsoft/uf2 )に対応したブートローダが入っているようで、これを書き潰さないように注意する必要がありそうだ。。

okuokuokuoku

手元に3.3vのArduinoが無かった。。

てっきり手元のPro Microが3.3v品かと思っていたら5v品だった。。というわけでSWDデバッグはRaspberry Pi Picoあたりを転用することにして一旦保留。

いわゆるリセットボタンのダブルタップ検出はブートローダ自体に存在するため、ブートローダ、つまりCPU内蔵フラッシュの先頭16KiBさえキープしておけば変なプログラムを書いてしまったとしても起動しなくなってしまう事はない。なのでよっぽどアホしない限りは大丈夫かな。