4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Milk-V Duo] 手にして15分でLチカまで

Posted at

はじめに

AliExpress で目にして、あまり考えずに購入した Milk-V Duo

調べてみると、公式ドキュメントもわかりやすく面白そうなので即購入。

image.png

「予習」と「準備」をしておけば、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チカが完了です。
blink.gif

しばらく楽しめそうです。

おまけ

/mnt/system/blink.shを見てみました。

/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
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?