Milk-V Duo 256M入手
Milk-V Duo 256M入手したので、環境構築をしてみました。
Milk-V Duo 256M
CVITEK社のSG2002を搭載したLinuxが動作するRISC-V評価ボードで、サイズとVDD、GNDなどのピンレイアウトはRaspberry Pi Pico互換になっている。
DuoとDuo 256Mの2種類があり、違いはSoCとメモリサイズでDuo 256Mがアップグレード版という位置づけ。これから買うなら256M版を買ったほうが良い。
製品 | RAM[MB] | SoC | TPU |
---|---|---|---|
Milk-V Duo | 64 | CV1800B | 0.5TOPS@INT8 |
Milk-V Duo 256M | 256 | SG2002 | 1.0TOPS@INT8 |
このボードの最大の特徴は、RISC-Vコアで動作して、TPUが搭載されているところかと思います。
TPUがあるおかげで、機械学習モデルの実行が高速化されるので、こんな小さなボードでも画像検知とか現実的なレベルで実行できるのはず。。という期待もあって購入。
小型なだけならラズパイPicoがあるし、RISC-Vコアのマイコンであれば、ESP32-C3のほうが情報量も多く使いやすいと思います。でもこのボードはこれらが全部乗っていて低価格なところが面白いです。
SG2002チップ
チップのダイアグラムが下図になる。RISC-V C906が1GHzと700MHzで動作するコアが2個あって、700MHzのほうはRTOSとか同時に動作させることができるらしい。
Arm Cortex-A53も切り替えて利用できる?みたいだけど不明。
下記の公式サイトにもYOLOとかのモデル作成&実行方法なども記載されている。
このボードの位置づけとしてはAIカメラ用の開発ボードなんだと思う。
公式イメージのインストールと起動
まずは、Win11をホストPCとして、公式のOSイメージを焼いて起動&ログインするところまでをやってみる。
256M版を使う場合は、対象のイメージをEthcerとかでSDに焼く。
このあたりはラズパイなどと同じような手順になる。
Milk-V DuoはRNDIS(リモートNDIS)に対応しているらしく、PCとはUSBケーブルで接続すると、標準のUSBドライバでネットワーク接続できる。とあったが、Win11の場合、ドライバのインストールが必要になる。
デバイスドライバのツリーでRNDISでエラーになっている箇所を選択して、ドライバの更新を選択する。
- ネットワークアダプター
- Microsoft
- USB RNDIS Adapter
を選択してインストールする。
ドライバのインストールが終わったら、SDカードを指してUSBケーブルをPCから給電して起動する。
SSHログインできるターミナル等を起動して、以下のIPアドレス(固定)で接続する。
> ssh root@192.168.42.1
The authenticity of host '192.168.42.1 (192.168.42.1)' can't be established.
ED25519 key fingerprint is SHA256:29Sgc0/6OAlDaRU9Nv+JEHdsorGQrncg+yJxB3hLy9I.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.42.1' (ED25519) to the list of known hosts.
root@192.168.42.1's password:
ユーザはroot, パスワードはmilkvでログインできる。
メモリはこんな感じ
[root@milkv-duo]~$ free -h
total used free shared buff/cache available
Mem: 166.2M 15.4M 140.2M 76.0K 10.6M 145.0M
Swap: 0 0 0
アーキテクチャは、riscv64
[root@milkv-duo]~$ uname -a
Linux milkv-duo 5.10.4-tag- #1 PREEMPT Wed Apr 10 21:37:02 CST 2024 riscv64 GNU/Linux
Pythonも入っているが、最低限なモジュールしかない。
> python --version
Python 3.9.5
> pip list
Package Version
----------- -------
cffi 1.14.2
evdev 1.6.1
freetype-py 0.0.0
lxml 4.6.3
modbus-tk 1.1.2
Pillow 8.2.0
pip 20.0.2
psutil 5.7.2
pycparser 2.20
pyserial 3.5
setuptools 44.0.0
smbus-cffi 0.5.1
spidev 3.5
apt
はインストールされてなかった。
ストレージについて
ストレージについては、32GBのSDを使っているが、焼いただけだと750MBほどしか認識してない。
[root@milkv-duo]~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 752M 177M 533M 25% /
devtmpfs 84M 0 84M 0% /dev
tmpfs 84M 0 84M 0% /dev/shm
tmpfs 84M 48K 84M 1% /tmp
tmpfs 84M 28K 84M 1% /run
ラズパイの場合、専用コマンドで拡張できるが、コイツにはそれ相当のものがなかった。ネットを探してみたが、自分でOSをビルドせよ。とのことだった。
さわってみて
ざっと公式サイトを覗いてみたけど、基本的にはPC上(Ubuntu22.04)でクロスプラットフォーム開発をして、ビルドしたモジュールをscpでマイコンにコピー、そして実行みたいな流れになっている。このあたりのワークフローは、カメラも入手しているので、後日試してみることにする。
ラズパイPicoみたいに注目度はイマイチだけど、いろいろ野心的な構成になっているし、この手の低価格マイコンボードでは個人的には一押しです。
Discussion