64bit RISCコアを2つ、CNN アクセラレータやFFTも内蔵するK210用の評価ボード。おなじみのESP32もボードに乗っていてネットワーク接続も可能。MicroPythonベースのMaixPyで制御可能で、すでに機能てんこ盛りらしく、どれだけ使いこなせるのか?遊べるのか?分からないけど、すぐに売れきれになりそうなのと、高性能の割には安いので買ってしまった。MicroPythonで内蔵ハードやTFT、カメラを制御できるようで、とっかかりは楽。とりあえず、、USB/SerialでPCと接続して、シリアルコンソール(TeraTerm)からブートメッセージ等を確認。かなり素っ気ない。。
>>> machine.reset() &ェイ ツj [MaixPy] sd_init | SD_CMD0 is FF __ __ _____ __ __ _____ __ __ | \/ | /\ |_ _| \ \ / / | __ \ \ \ / / | \ / | / \ | | \ V / | |__) | \ \_/ / | |\/| | / /\ \ | | > < | ___/ \ / | | | | / ____ \ _| |_ / . \ | | | | |_| |_| /_/ \_\ |_____| /_/ \_\ |_| |_| Official Site : https://www.sipeed.com Wiki : https://maixpy.sipeed.com MicroPython v0.3.2 on 2019-05-15; Sipeed_M1 with kendryte-k210 Type "help()" for more information.
空きメモリを確認500KB??こ、これはかなり少ないのでは。。
>>> micropython.mem_info() mem: total=45829, current=15489, peak=17007 stack: 1012 GC: total: 518144, used: 13440, free: 504704 No. of 1-blocks: 103, 2-blocks: 19, max blk sz: 65, max free sz: 15725 >>> gc.mem_free() 504512
https://www.seeedstudio.com/Sipeed-Maixduino-Kit-for-RISC-V-AI-IoT-p-4047.html
宣伝ページで再確認すると、K210(正確には、Sipeedの場合、Sipeed M1 AI Module?)には6MBの汎用SRAMが搭載されているとあるのだが。。
SoC – Kendryte K210 dual core 64-bit RISC-V processor @ 400 MHz with KPU CNN hardware accelerator, APU audio hardware accelerator, 6 MB general purpose SRAM, 2MB AI SRAM memory, and AXI ROM to load user program from SPI flash
実際に動かすには初期化コードが必要ですが、、以下のループでCMOSカメラの映像がリアルタイムでTFTパネルに表示される。このシンプルさ。すばらしい。
while True: lcd.display(sensor.snapshot())
描画の遅延も気にならない程の高速で、24fpsぐらい出ているのかも。しかし、、メインのM1チップはかなり熱い。内部でDMAとかバリバリに動かしているのかも。ソース読んでないのでどんな実装か分かりませんが。
■ご参考URL
MaixPyの説明
github.com
https://maixduino.sipeed.com/en/hardware/k210.html
■追記(190901)
ESP32+CMOSカメラの試作で時間が一杯になっていて全く触っていないけど、、これはどうやって遊ぶのだろうか。エッジAIとして使える? とある記事を読んでいると、このボードではAIの学習(誤差逆伝播というやつですか)はできないとあったけど(CPUパワーや動かせるフレームワークの制約により)。