はじめに
秋葉原ロボット部の有志で、Milk-v duoを購入し、個々人が様々な実験を行って、勉強会内で報告しています。
Milk-v Duoは9ドルのrisc-vコンピュータとして知られています。
ハードウェアは以下の通りです。
- CPUはCVITEKのCV1800B (C906@1Ghz + C906@700MHz)
- 最高1 GHzで動作するデュアルRV64コア
- 64 MBのラム
- オプションのアドオンボードを接続すると10/100Mbpsの速度でイーサーネットに接続可能
Milk-v Duo用のクロスコンパイル環境構築
本稿では、windows10上のWSLで動作するubuntu22.04を使用しています。
最初にクロスコンパイルに必要なツールをインストールします。
$ sudo apt-get install wget git make
次に、今回用いるプログラムのソースコードをダウンロードして、コンパイル環境を作成します。
$ git clone https://github.com/milkv-duo/duo-examples.git
$ cd duo-examples
$ source envsetup.sh
「source envsetup.sh」のスクリプトが終了するまで、時間がかかります。
無事終了すると、WSLのコマンドプロンプトが表示されます。
「Hello world」をコンパイルして実行する
$ cd hello-world
$ make
新たに生成したファイルのうち「helloworld」というファイルをMilk-v Duoに転送します。
$ scp helloworld root@192.168.42.1:/root/
Milk-v Duo上で
[root@milkv-duo]~# chmod +x helloworld
[root@milkv-duo]~# ./helloworld
Hello, Wolrd!
無事動きました。
自作プログラム作成の段取り
- 例えば「my-project」のようなディレクトリを作成
- 「duo-exapmles」内の「blink.c」と「Makefile」を「my-project」 へコピー
- 「blink.c」を自分のプログラム名、例えば「gpio_test.c」に変更
- 「Makefile」内の「TARGET=blink」を「TARGET=gpio_test」に修正
- 「gpio_test.c」を目的のコードに修正
- makeする。
- 生成した「gpio_test」実行ファイルをDuoに転送して実行
おわりに
Milk-vのgithubサイトで公開されているプログラム例は少数ですが、多くの方々が自作のプログラムを公開しています。
「Milk-v Duo」、「c language」等のキーワードで検索して見つかるソースファイルを参考に、みなさんも、自作のプログラムを紹介してはいかがでしょうか。