Ubuntu Weekly Recipe

第587回 RISC-Vベースの“AIoTカメラ”であるM5StickVをUbuntuで使う

この記事を読むのに必要な時間:およそ 7 分

GUI版によるアップデート

GUI版のアップデートツールである「Kflash_GUI」はQtで作られたソフトウェアです。ソフトウェアアーカイブの中に必要なライブラリは一通り同梱されているので,アーカイブをダウンロードして展開すればすぐに使えるはずです。

Kflash_GUIはM5StickV Quick Startの「Flash」にあるLinux版のリンクをクリックすれば入手できます。

$ cd ~/ダウンロード
$ tar xvf kflash_gui_v1.5.3_linux.tar.xz
$ cd kflash_gui/

同梱されているkflash_guiを実行すれば,カレントディレクトリ配下にあるライブラリをロードし,アップデートツールが立ち上がります。

$ ./kflash_gui

図1 アップデートツールが立ち上がった直後

画像

左上の一番左のボタンは言語切り替えです。とは言え英語と中国語(簡体字)しかサポートしていないので英語のままで問題ありません。真ん中のボタンはテーマです。右端のボタンを押すとバージョンや直近の変更履歴などが掲載されます。いずれのボタンもそこまで使うことはないはずです。

図2 必要な情報の設定

画像

設定が必要なのは「Open File」によるファームウェアファイルの選択と,⁠Board」での「M5StickV」の選択,さらに「Port」でのシリアルポートデバイスファイルの指定です。それ以外は初期状態のままでかまいません。なお,PortはM5StickVが繋がっていないと選択できません。設定が完了したらウィンドウ下部の「Download」をクリックしてください。

図3 ファームウェアの更新

画像

ファームウェアの更新にはそれなりの時間がかかります。しばらくそのままで待ちましょう。

図4 ファームウェアの更新完了

画像

更新が完了したら「Download success」と表示されます。Kflash_GUIを終了してください。

ちなみにシリアルポートへの書き込み権限がない場合は,次のようなエラーダイアログが表示されます。その場合はdialoutグループに所属しているかどうかなど,権限の設定を今一度確認し直してください。

図5 書き込み権限がない場合のエラーダイアログ

画像

Kflash_GUIの設定は~/.config/kflash_gui/kflash_gui.confに保存されます。うまく起動できなくなったら,とりあえずこのファイルを削除してみてください。

CLI版によるアップデート

CLI版のKflashはPython 3製のアプリケーションです。ちなみにGUI版も内部ではCLI版を利用しています。このアプリケーションはpip3コマンドを用いてインストール可能です。

$ sudo apt install python3-pip
$ sudo pip3 install kflash

PySerialなど必要なライブラリも一緒にインストールされます。

CLI版のKflashを使う場合は,シリアルポートのデバイスファイルと書き込むファームウェアファイルを指定します。ボード種別は自動判定で大丈夫なようです。シリアルポートのデバイスファイルは,上記だと/dev/ttyUSB0になっています。おそらく大抵の環境はこれで問題ないはずですが,すでに別のUSBシリアルケーブルを繋いでいる場合は/dev/ttyUSBxxの部分が別の数字になりますので注意してください。

$ kflash -p /dev/ttyUSB0 ~/ダウンロード/M5StickV_Firmware_0830_beta.kfpkg
[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] Automatically detected goE/kd233

[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
[INFO] Extracting KFPKG ...
[INFO] Writing maixpy.bin into 0x00000000
Programming BIN: |===========================================================================================================| 100.0% 9kiB/s
[INFO] Writing m5stickv_resources.img into 0x00d00000
Programming BIN: |===========================================================================================================| 100.0% 10kiB/s
[INFO] Writing facedetect.kmodel into 0x00300000
Programming BIN: |===========================================================================================================| 100.0% 9kiB/s
[INFO] Rebooting...

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。