MaixPyに "kmodel v4 supportが追加された" とあったのでソースからファームウェア?をビルドして焼いてみた
公式のBuild from sourceの手順そのままでいけた
- 手順通りにmaixpy.binをビルドする
- kflashでM5StickVに焼く
- 本体にログインするとターミナルに
MicroPython v0.5.0-22-g7ac6b09bf on 2020-03-07; Sipeed_M1 with kendryte-k210
と出ており、MaixPyが新しくなった模様
追記
ビルドの設定次第でheap memoryに差異が出るらしい。
- sipeedが配布しているPre compliedバイナリの場合、v0.4.0_47とv0.4.0_92で900KBぐらい違う
- sys heap memoryによってロードできるモデルのサイズが違ってくる?
- 自分でビルドする際に
python3 project.py menuconfigでビルドオプションを変える (不要な機能を削る) ことでheap memoryを大きくすることができるらしい
1. 今回ビルドしたもの
MicroPythonのバージョンは v0.5.0-22
...
MicroPython v0.5.0-22-g7ac6b09bf on 2020-03-07; Sipeed_M1 with kendryte-k210
Type "help()" for more information.
>>>
>>> kpu.memtest()
### free gc heap memory : 378 KB
### free sys heap memory: 1512 KB
>>>
2. M5StickV_Firmware_1022_beta.kfpkg
公式で配布されているファームウェア
MiroPythonのバージョンは v0.4.0-52
...
MicroPython v0.4.0-52-g3b8c18b84-dirty on 2019-10-21; M5Stick-V with Kendryte K210
Type "help()" for more information.
>>>
>>> kpu.memtest()
### free gc heap memory : 400 KB
### free sys heap memory: 1768 KB
あまり変わらないような、、
上の Github issue によると sipeedが配布してる maixpy_v0.4.0_47_g39bb8bf_m5stickv.bin は3460KBあるらしい
要調査
TOOD
M5StickVのファームウェアってsipeedとM5stackそれぞれから配布されていて、どちらを使うべきなのかよくわからない。
- sipeed: Githubのソースを自分でビルド or バイナリをダウンロード
- M5Stack: Quickstartにリンクされてる[kfpkg] (https://docs.m5stack.com/#/en/quick_start/m5stickv/m5stickv_quick_start)
M5Stackが配布しているものはファームウェアとサンプルのモデルファイルがセットになったものに見える。
M5Stackが配布してるファームウェアは恐らくsipeedのコードからビルドされたものと思われるが、何か差分があるんだろうか?現時点で最新の M5StickV_Firmware_1022_beta.kfpkg に含まれているMaixPyは v0.4.0-52 と最新からはだいぶ古そうなので問題なければsipeedの方を使ってみたい。