Milk-V Duo 256M を偶然発見
ちょうど東京方面へ出社する用があったので、ついでに秋月によってMOSFETでも買おうと、いろいろ探している時にとても惹かれるものを見つけた。
このサイズでLinuxが動いて256Mも使えるんですか!しかも1TOPSのNPUまで乗ってるって。
1TOPSがどの程度の処理できるか知らんが、すげーな。
いや、確かに256Mじゃぁ難しいもは動かないけどなんかLinuxサーバとしては動くんじゃないの…。
公式情報ページのピン情報見るといろいろできそうでワクワクしますね。
購入
ということで、帰宅途中に秋月に寄って買ってきました。
ホームページで「色はランダムで選べない」と記載があります。いくつか眺めたところ、店頭にある商品の箱はピンク色でした。
中が違う色だったらいいなぁと思いつつ、あけるとばっちりピンクでした。
起動まで
日本は変態がたくさんいるので、すでに試している方がいるようです。ありがたい!
先達の手順をそのまままねることにします。
イメージ書き込み
起動
書き込みには成功しまして、起動します。
起動しますといってもUSBにぶすっとさすだけです。青いランプが点滅を始めたらログインのためにSSHをうちます。2025年5月時点では何もせずにSSHがとおってログインできました。
そののち、sshを打ちます。** え…パスワード... ** 往年の間でいくつかためしたところ、正解はmilkvでした。
> ssh root@192.168.42.1
root@192.168.42.1's password: ここでmilkvを入力
[root@milkv-duo]~# ls
[root@milkv-duo]~# pwd
/root
…早い。
[root@milkv-duo]~# cat /proc/cpuinfo
processor : 0
hart : 0
isa : rv64imafdvcsu
mmu : sv39
改めてスペックは以下のような感じ。RISC-VでCPUは2つ載せているけど一つはハード周りの制御で仕事しているらしい。
Duo 256M | |
---|---|
SoC | SG2002 |
RISC-V CPU | C906@1Ghz + C906@700MHz |
Arm CPU | 1 x Cortex-A53@1GHz |
MCU | 8051@6KB SRAM |
TPU | 1TOPS@INT8 |
Memory | SIP DRAM 256MB |
USB | 1 x Type-C for power and data, USB Pads available |
Lチカ
ちょっくらPINの状態を見ます。コマンドduo-pinmuxで確認できるようです。
これで確認するとGP14があまり使ってなさそうです。
[root@milkv-duo]~# duo-pinmux -l
GP0 function:
[ ] CV_SCL0
[v] UART1_TX
[ ] UART2_TX
[ ] GP0
[ ] WG0_D0
[ ] DBG_10
GP1 function:
[ ] CV_SDA0
[v] UART1_RX
[ ] UART2_RX
[ ] GP1
[ ] WG0_D1
[ ] WG1_D0
[ ] DBG_11
…中略…
GP14 function:
[ ] SDIO0_PWR_EN
[v] GP14
…後略…
裏返してみると…GP14は後ろから2番目ですね。
3番目のGNDとGP14にLEDをつなぎます。
マイコンあるあるでややこしいのですが、GPの番号となにやらPIN番号は違うということで、以下の表からGP14のNUMを確認します。494のようです。
https://milkv.io/zh/docs/duo/getting-started/duo256m
GP14を出力用に設定していきます。
[root@milkv-duo]/sys/class/gpio# ls
export gpio354 gpiochip352 gpiochip384 gpiochip416 gpiochip448 gpiochip480 unexport
[root@milkv-duo]/sys/class/gpio# echo 494 > export
export gpio354 gpio494 gpiochip352 gpiochip384 gpiochip416 gpiochip448 gpiochip480 unexport
[root@milkv-duo]/sys/class/gpio# echo "out" > gpio494/direction
これで、0や1を書き出すとLEDがON/OFFされます。LinuxからGISPをArduinoのように容易に触れるのは私にとっては少し新鮮です。
[root@milkv-duo]/sys/class/gpio# echo "0" > gpio494/value
[root@milkv-duo]/sys/class/gpio# echo "1" > gpio494/value