Maixduino を使ってみる
先日、Amazonで注文していたSipeed Maixduinoキットが届いたので、遊んでみる。
開発環境のセットアップ
gnu-toolchain があるので、これを落としてきてビルドする。
$ git clone --recursive https://github.com/kendryte/kendryte-gnu-toolchain $ cd kendryte-gnu-toolchain $ mkdir build $ cd build $ ../configure --prefix=/opt/kendryte-toolchain --with-cmodel=medany --with-arch=rv64imafc --with-abi=lp64f $ make $ sudo make install
makeにはなかなか時間がかかる。
あと、Maixduino のflashにプログラムを書き込むためのツールを入れる必要がある。これはpipで導入することが可能。
$ sudo pip3 install kflash
サンプルプログラムのビルド
まず、standalone-sdkを手元にクローンしてくる。次に、いくつか用意されているサンプルプログラムを手元にクローンしてくる。サンプルプログラムに関しては、standalone-sdkのsrcファイル以下に展開するのが良い。standalone-sdkのsrcディレクトリの下にサンプルプログラムのリポジトリに含まれる aes_128_test
などのプログラムが入った状態になれば準備完了。
standalone-sdkのディレクトリに入り、サンプルプログラムのうち lcd をビルドする。
$ cd kendryte-standalone-sdk $ mkdir build $ cd build $ cmake ../ -DPROJ=lcd -DTOOLCHAIN=/opt/kendryte-toolchain/bin $ make
flashへの書き込み
ビルドしたバイナリをflashに書き込むにはkflashを使う。( 私の環境では/dev/ttyUSB0
を指定して上手くいったが、環境によってはデバイスファイル名は違うはず。)
$ kflash -p /dev/ttyUSB0 -B goE lcd.bin
書き込みに失敗する場合は、sudo
をつけるか、
$ sudo usermod -a -G dialout $(whoami)
を実行する。(参考: GitHub - kendryte/kflash.py: kflash, A Python-based cross-platform Kendryte K210 UART ISP Utility)
書き込みを実行すると以下のような出力が端末に表示される。
[INFO] COM Port Selected Manually: /dev/ttyUSB0 [INFO] Default baudrate is 115200 , later it may be changed to the value you set. [INFO] Trying to Enter the ISP Mode... * [INFO] Greeting Message Detected, Start Downloading ISP Downloading ISP: |=========================================================================================================================================================================| 100.0% 10kiB/s [INFO] Booting From 0x80000000 [INFO] Wait For 0.1 second for ISP to Boot [INFO] Boot to Flashmode Successfully [INFO] Selected Flash: On-Board [INFO] Initialization flash Successfully Programming BIN: |=========================================================================================================================================================================| 100.0% 10kiB/s [INFO] Rebooting...
Maixduinoを再起動すると、LCDにCanaan Kendryte K210が表示される。
ドキュメントが結構充実しているので、これを見ながらもっと遊んでみることにしよう。
こういう端末買うの初めてなので、わかっていなかったのだが、標準出力に出た内容を確認する場合は、
$ cat /dev/ttyUSB0
で一応取得できる。