RuyiSDK 外设示例
可直接在开发板上进行编译和运行的示例,适合初学者快速上手。
安装依赖包
sudo apt update; sudo apt install -y wget tar zstd xz-utils git build-essential
安装 ruyi 包管理器
wget https://mirror.iscas.ac.cn/ruyisdk/ruyi/tags/0.47.0/ruyi-0.47.0.riscv64
chmod +x ruyi-0.47.0.riscv64
sudo cp -v ruyi-0.47.0.riscv64 /usr/local/bin/ruyi
安装工具链
ruyi update
ruyi install gnu-plct llvm-plct
Blink
本文介绍如何使用 RuyiSDK 在 Milk-V Duo S 开发板上快速部署编译环境,并构建 LED 闪烁控制程序,验证板载 LED 的控制功能。
1. 准备工作
-
开发板:Milk-V Duo S (512M, SG2000)
-
其他:microSD 卡、USB Type-C 数据线
操作系统安装与启动验证
确保您的开发板已准备好系统。
参考文档:https://github.com/DuoQilai/riscv-board-custom-dev/blob/main/Duo_S/boot_DuoS.md
2. 获取源码
克隆源码
ruyi extract milkv-duo-examples
mv milkv-duo-examples-* duo-examples
cd duo-examples
3. 编译应用与验证
创建虚拟环境
ruyi venv -t toolchain/gnu-plct manual venv-gnu-plct
. ~/venv-gnu-plct/bin/ruyi-activate
验证工具链版本
riscv64-plct-linux-gnu-gcc -v
编译 LED 闪烁程序
cd blink
riscv64-plct-linux-gnu-gcc blink.c -o blink \
-I../include \
-I../wiringX/src \
-L../libs/system/musl_riscv64 \
-lwiringx
验证结果
检查生成的二进制文件:
file blink
4.传输并运行
默认用户名:root,默认密码:milkv
# 传输到开发板
scp blink root@192.168.42.1:/root/
# SSH 登录开发板
ssh root@192.168.42.1
禁用系统自带 LED 脚本
运行 blink 程序前,需要先禁用系统自带的 LED 闪烁脚本,避免冲突:
mv /mnt/system/blink.sh /mnt/system/blink.sh_backup && sync
# 执行完后,需要重启开发板,使禁用生效:
reboot
重启后重新 SSH 登录
ssh root@192.168.42.1
# 运行测试
./blink
运行后终端持续输出 LED 状态:
Duo LED GPIO (wiringX) 25: High
Duo LED GPIO (wiringX) 25: Low
Duo LED GPIO (wiringX) 25: High
Duo LED GPIO (wiringX) 25: Low
...
蓝色 LED 会同步闪烁:High 亮起, Low 熄灭。
按 Ctrl+C 可终止程序。
5.恢复系统原有 LED 功能
测试完成后,如需恢复系统默认 LED 闪烁:
ssh root@192.168.42.1
# 恢复 LED 脚本
mv /mnt/system/blink.sh_backup /mnt/system/blink.sh && sync
# 重启开发板使恢复生效
reboot