はじめに
AliExpress で目にして、あまり考えずに購入した Milk-V Duo
調べてみると、公式ドキュメントもわかりやすく面白そうなので即購入。
「予習」と「準備」をしておけば、10分程度でLチカまで行けます。
概要は下記のとおり(公式サイトからGoogle翻訳)
Milk-V Duo は、CV1800B チップをベースとした超小型の組み込み開発プラットフォームです。Linux と RTOS を実行でき、専門家、産業用 ODM、AIoT 愛好家、DIY 愛好家、クリエイターに信頼性が高く、低コストで高性能なプラットフォームを提供します。
ハードウェア
- CVITEK CV1800B (C906@1Ghz + C906@700MHz)
- 最大 1GHz のデュアル RV64 コア
- 64MBのRAM
- オプションのアドオンボード経由で 10/100Mbps イーサネットを提供
- Linux と RTOS の両方の実行をサポートするテクノロジー
4日で届いた
2023/8/18に注文し、8/22に到着しました。
価格は約1500円、送料込みで1800円程度です。(本当にいいのか?)
準備
手順の説明は非常にわかりやすく、初心者でも迷うことはないでしょう。
必須の物品は
- ホストPC(Ubuntu20.04 が推奨されているが、今回は WSL + Ubuntu 22.04 で動作確認)
- 1GBを超えるmicroSD
- Type-Cケーブル
あとは公式ドキュメントのとおりにシステムイメージをダウンロードしてmicroSDに書き込む。
開発環境
ホストPC上に開発環境を整えます。
こちらも公式のとおりで問題なく準備できました。
予習としてサンプルプログラムをよく見ておきましょう。
各ディレクトリでmake
すれば、それぞれ実行ファイルができます。
手にしてすぐにLチカをするためにblink
ディレクトリでもmake
しておきます。
到着したら
開封し、問題なければType-Cケーブルで接続します。
正常ならばボード上の青色LEDが0.5秒間隔で点滅します。
リモートNDISの設定は下記に詳しく記載されています。
あとはLチカ
「あっけない」というのが実感です。
さて、Lチカですが、このままblink
を転送して実行すると、すでに点滅している青色LEDにLチカがかぶってしまいます。(やっちまいました。)
手順説明にあるとおり、起動時から点滅している青色LEDを止めておく必要があります。
この点滅はシェルスクリプト/mnt/system/blink.sh
によって実行されているので、スクリプトをリネームし、再起動することで点滅が停止します。
Milk-V Duoにリモート接続し、スクリプトのリネームと再起動をします。
$ ssh root@192.168.42.1
root@192.168.42.1's password:(初期パスワードはmilkv)
[root@milkv]~# mv /mnt/system/blink.sh /mnt/system/blink.sh_backup && reboot
再起動には少しばかり時間を要しますが、点滅は止まるはずです。
いったん接続も切れるので、make
済みのblink
を転送し、Milk-V Duoに再接続して実行します。
画面表示にあわせて青色LEDが点滅しました。
準備がしっかりできていれば、手にとって15分程度でLチカが完了です。
しばらく楽しめそうです。
おまけ
/mnt/system/blink.sh
を見てみました。
#!/bin/sh
LED_GPIO=/sys/class/gpio/gpio440
if test -d $LED_GPIO; then
echo "GPIO440 already exported"
else
echo 440 > /sys/class/gpio/export
fi
echo out > $LED_GPIO/direction
while true; do
echo 0 > $LED_GPIO/value
sleep 0.5
echo 1 > $LED_GPIO/value
sleep 0.5
done