前回かいた記事 で UnitVでsensor.snapshot()だけで10fpsと書いたんですが、ファームの問題でした。今更感がありますが、ファームについて書いておこうと思います。
https://docs.m5stack.com/en/quick_start/unitv/unitv_quick_start_maixpy を参照して素直にセットアップすると、M5StickVと同じファームを入れる流れになりますが、このファームが sensor の動作周波数を12MHzと設定しているためでした。しかもこのページ内のファームはファイル名はv5.1.2となっていますが、中のファームは0.5.0で結構古い。
新しいファームは https://dl.sipeed.com/shareURL/MAIX/MaixPy/release/master に置いてあって現時点では、maixpy_v0.6.2_58_g783789e06 が最新。
ここに _m5stickv.bin がありますが、これではなく普通のmaixファームを使うと倍速の24MHzになり、UnitVのmicroPython上では20fpsで動くようになります。
前記事で書いたような mobilenet 1000class動かそうとするとフルスペックのファームだとメモリが足りません。よって minimum構成のファームにしたいわけですが、ここに置いてあるminimumたちは微妙に自分が使いたい組み合わせじゃないんですよね。
自分が使いたいのは IDE + _thread + ws2812 + sensor 24MHz + KPU V3 です。kpu V4サポートは今の所いらない。ws2812は大して使わないけど入れても大差ない。_threadはちょっと使いたい。IDEないと辛すぎ。こういう組み合わせがほしい。
ということでファームをビルドしよう!
オンラインでビルドできるサービスがあるようですがユーザ登録とかしないといけないので、ローカルに環境構築してビルドします。
https://github.com/sipeed/MaixPy/blob/master/build.md を見ながらやりますが、ここで要求されている環境はすでに入っているので以下の手順だけでOK。
$ git clone --recursive https://github.com/sipeed/MaixPy.git $ wget http://dl.cdn.sipeed.com/kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz $ sudo tar -Jxvf kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz -C /opt下が今回ビルドするときに使ったコンフィグファイルの内容(config_tiny.mk)
$ cd MaixPy/projects/maixpy_k210 $ python project.py clean_conf $ python project.py build --config_file config_tiny.mkすると、buildフォルダに maixpy.bin が出来上がります。サイズは736192でした。
0 件のコメント:
コメントを投稿