From dc9f4aa009df79306516ec7bc8214ab1b2479727 Mon Sep 17 00:00:00 2001 From: Zihan Cheng <3886855436@qq.com> Date: Thu, 28 May 2026 19:38:53 +0800 Subject: [PATCH 1/6] Create README_zh.md for I2C peripheral example --- Duo_S/I2C/README_zh.md | 181 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 Duo_S/I2C/README_zh.md diff --git a/Duo_S/I2C/README_zh.md b/Duo_S/I2C/README_zh.md new file mode 100644 index 0000000..2943f29 --- /dev/null +++ b/Duo_S/I2C/README_zh.md @@ -0,0 +1,181 @@ +--- +sys: debian +sys_ver: v1.6.35 +sys_var: null +provider: milkv +status: peripheral +last_update: 2026-05-20 +model: Milk-V Duo S +profile: I2C +--- + +# 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 + +``` + +## I2C + +本文介绍如何使用 RuyiSDK 在 Milk-V Duo S 开发板上快速部署编译环境,并构建 SSD1306 I2C OLED 屏幕测试程序,验证屏幕显示功能。 + +### 1. 准备工作 + +* **开发板**:Milk-V Duo S (512M, SG2000) + +* **传感器**:0.96寸 OLED 屏幕(SSD1306,I2C接口) + +* **其他**:microSD 卡、USB Type-C 数据线、杜邦线 4 根(母对母) + +#### 操作系统安装与启动验证 + +确保您的开发板已准备好系统。 + +参考文档:https://github.com/DuoQilai/riscv-board-custom-dev/blob/main/Duo_S/boot_DuoS.md + +### 2. 硬件连接 + +请参考以下引脚对照表及图片将模块连接至 Duo S。 + +[![OLED 屏幕引脚图](https://raw.githubusercontent.com/ZihanCheng63/ruyisdk-dev-archive/main/videos/Duo_s/OLED%E6%98%BE%E7%A4%BA%E5%B1%8F.png)](https://raw.githubusercontent.com/ZihanCheng63/ruyisdk-dev-archive/main/videos/Duo_s/OLED%E6%98%BE%E7%A4%BA%E5%B1%8F.png) + + + +[![duos-pinout-v1.1](https://raw.githubusercontent.com/ruyisdk/board-docs/main/Duo_S/images/duos-pinout-v1.1.webp)](https://raw.githubusercontent.com/ruyisdk/board-docs/main/Duo_S/images/duos-pinout-v1.1.webp) + + + +| 连接名称 | VCC | GND | SCL | SDA | +| -------- | --- | --- | --- | --- | +| 连接引脚 | 3.3V | GND | PIN7 | PIN11 | + +| OLED模块 | 信号 | Milk-V Duo S | +| -------- | ---- | ------------- | +| VCC | 3.3V供电 | J3头部 1脚(3.3V) | +| GND | 地 | J3头部 6脚(GND) | +| SCL | I2C时钟 | J3头部 7脚(B18) | +| SDA | I2C数据 | J3头部 11脚(B11) | + + + + +[![接线图 1](https://raw.githubusercontent.com/ZihanCheng63/ruyisdk-dev-archive/main/videos/Duo_s/image-2026052001.png)](https://raw.githubusercontent.com/ZihanCheng63/ruyisdk-dev-archive/main/videos/Duo_s/image-2026052001.png) + +[![接线图 2](https://raw.githubusercontent.com/ZihanCheng63/ruyisdk-dev-archive/main/videos/Duo_s/image-2026052002.png)](https://raw.githubusercontent.com/ZihanCheng63/ruyisdk-dev-archive/main/videos/Duo_s/image-2026052002.png) + +### 3. 获取源码 + +#### 克隆源码 + +```bash + +ruyi extract milkv-duo-examples + +mv milkv-duo-examples-* duo-examples + +cd duo-examples + +``` + +### 4. 编译应用与验证 + +#### 创建虚拟环境 + +```bash + +ruyi venv -t toolchain/gnu-plct manual venv-gnu-plct + +. ~/duo-examples/venv-gnu-plct/bin/ruyi-activate + +``` + +#### 验证工具链版本 + +```bash + +riscv64-plct-linux-gnu-gcc -v + +``` + +#### 编译 I2C 程序 + +```bash + +cd i2c/ssd1306_i2c + +riscv64-plct-linux-gnu-gcc -o ssd1306_i2c ssd1306_i2c.c -I/home/pingguo/duo-examples/include/system -L/home/pingguo/duo-examples/libs/system/musl_riscv64 -lwiringx + +``` + +#### 验证结果 + +检查生成的二进制文件: + +```bash + +file ssd1306_i2c + +``` + +### 5.传输并运行 + +默认用户名:`root`,默认密码:`milkv` + +```bash + +# 传输到开发板 + +scp ssd1306_i2c root@192.168.42.1:/root/ + +# SSH 登录开发板 + +ssh root@192.168.42.1 + +# 配置引脚功能 + +duo-pinmux -w B18/IIC1_SCL + +duo-pinmux -w B11/IIC1_SDA + +# 运行测试 + +./ssd1306_i2c + +``` + +运行后 OLED 屏幕应显示文字内容: + +```bash + +Hello MilkV Duo! +Hello MilkV Duo! + +``` From 16a0223101191c58f6767c15637597f9eea54fa0 Mon Sep 17 00:00:00 2001 From: Zihan Cheng <3886855436@qq.com> Date: Thu, 28 May 2026 19:40:00 +0800 Subject: [PATCH 2/6] Create README_zh.md for PWM example --- Duo_S/PWM/README_zh.md | 189 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 Duo_S/PWM/README_zh.md diff --git a/Duo_S/PWM/README_zh.md b/Duo_S/PWM/README_zh.md new file mode 100644 index 0000000..86abe28 --- /dev/null +++ b/Duo_S/PWM/README_zh.md @@ -0,0 +1,189 @@ +--- +sys: debian +sys_ver: v1.6.35 +sys_var: null +provider: milkv +status: peripheral +last_update: 2026-05-07 +model: Milk-V Duo S +profile: PWM +--- + +# 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 + +``` + +## PWM + +本文介绍如何使用 RuyiSDK 在 Milk-V Duo S 开发板上快速部署编译环境,并构建 PWM 测试程序,验证芯片脉宽调制输出功能。 + +### 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. 获取源码 + +#### 克隆源码 + +```bash + +ruyi extract milkv-duo-examples + +mv milkv-duo-examples-* duo-examples + +cd duo-examples + +``` + +### 3. 编译应用与验证 + +#### 修改源码 + +```bash + +cd pwm + +nano pwm.c + +``` + +修改以下内容: + +```bash + +# 将初始化参数改为 milkv_duos + +if (wiringXSetup("milkv_duos", NULL) == -1) + +``` + +保存并退出。 + +#### 创建虚拟环境 + +```bash + +ruyi venv -t toolchain/gnu-plct manual venv-gnu-plct + +. ~/duo-examples/venv-gnu-plct/bin/ruyi-activate + +``` + +#### 验证工具链版本 + +```bash + +riscv64-plct-linux-gnu-gcc -v + +``` + +#### 编译 PWM 程序 + +```bash + +cd pwm + +riscv64-plct-linux-gnu-gcc pwm.c -o pwm \ + -I../include \ + -I../wiringX/src \ + -L../libs/system/musl_riscv64 \ + -lwiringx + +``` + +#### 验证结果 + +检查生成的二进制文件: + +```bash + +file pwm + +``` + +### 4.传输并运行 + +默认用户名:`root`,默认密码:`milkv` + +```bash + +# 传输到开发板 + +scp pwm root@192.168.42.1:/root/ + +# SSH 登录开发板 + +ssh root@192.168.42.1 + +# 配置引脚功能 + +duo-pinmux -w A16/PWM_4 + +# 运行测试 + +./pwm + +``` + +运行后终端提示: + +```bash + +PWM Period fixed to 1000ns, please set Duty in range of 0-1000. +Enter -> Pin:Duty + +``` + +按提示输入 [引脚号]:[占空比],例如: + +```bash + +8:500 + +``` + +程序输出: + +```bash + +pin 8 -> duty 500 + +``` From eb3ec6b40e5f24c675a2ac1b7f3eccd3cfbad9e7 Mon Sep 17 00:00:00 2001 From: Zihan Cheng <3886855436@qq.com> Date: Sun, 31 May 2026 21:53:37 +0800 Subject: [PATCH 3/6] Add Chinese README for Nuclei RV-STAR Coremark --- Nuclei RV-STAR/Coremark/README_zh.md | 218 +++++++++++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 Nuclei RV-STAR/Coremark/README_zh.md diff --git a/Nuclei RV-STAR/Coremark/README_zh.md b/Nuclei RV-STAR/Coremark/README_zh.md new file mode 100644 index 0000000..61fc3c8 --- /dev/null +++ b/Nuclei RV-STAR/Coremark/README_zh.md @@ -0,0 +1,218 @@ +--- +sys: baremetal +sys_ver: null +sys_var: null +status: basics +last_update: 2026-05-31 +model: Nuclei RV-STAR +profile: Coremark + +--- + +# 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 + +``` + +克隆 Nuclei SDK + +``` + +git clone https://github.com/Nuclei-Software/nuclei-sdk.git + +cd nuclei-sdk + +``` + +下载并配置 Nuclei 工具链和 OpenOCD + +``` + +wget https://download.nucleisys.com/upload/files/toolchain/gcc/nuclei_riscv_newlibc_prebuilt_linux64_nuclei-2024.tar.bz2 +tar -xjvf nuclei_riscv_newlibc_prebuilt_linux64_nuclei-2024.tar.bz2 + +wget https://download.nucleisys.com/upload/files/toolchain/openocd/nuclei-openocd-2024.02.28-linux-x64.tgz +tar -xzvf nuclei-openocd-2024.02.28-linux-x64.tgz + +export PATH=~/nuclei-sdk/gcc/bin:$PATH +export PATH=~/nuclei-sdk/Nuclei/openocd/2024.02.28/bin:$PATH + +sed -i 's/ -Wl,--no-warn-rwx-segments//' ~/nuclei-sdk/Build/toolchain/nuclei_gnu.mk + +``` + +在终端1启动 OpenOCD + +``` + +sudo openocd -f ~/nuclei-sdk/SoC/gd32vf103/Board/gd32vf103v_rvstar/openocd_gd32vf103.cfg + +``` + +## 说明 + +RV-STAR 是裸机开发板,需要使用 Nuclei 官方提供的专用工具链(包含针对 GD32VF103 芯片的启动文件和链接脚本)。RuyiSDK 作为统一的工具链管理平台,整合了该专用工具链。 + +## Coremark (GCC版) + +编译Coremark + +``` + +cd nuclei-sdk/application/baremetal/benchmark/coremark + +make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_gnu clean +make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_gnu all + +``` + +在终端2执行烧录 + +``` + +sudo chmod 666 /dev/ttyUSB1 + +riscv64-unknown-elf-gdb coremark.elf -ex "target extended-remote localhost:3333" -ex "monitor reset halt" -ex "load" -ex "monitor resume" -ex "quit" + +minicom -D /dev/ttyUSB1 -b 115200 + +``` + +正常情况下,终端会看到类似如下输出: + +``` + +Nuclei SDK BNuclei SDK Build Time: May 31 2026, 17:11:34 Time: May 31 2026, 17:11:34 +Download Mode: FLASHXIP +CPU Frequency 108000000 Hz +Start to run coremark for 800 iterations +2K performance run parameters for coremark. +CoreMark Size : 666 +Total ticks : 237323748 +Total time (secs): 2.197440 +Iterations/Sec : 364.059997 +ERROR! Must execute for at least 10 secs for a valid result! +Iterations : 800 +Compiler version : GCC13.1.1 20230713 +Compiler flags : -Ofast -fno-code-hoisting -fno-common -finline-functions -falign-fu1 +Memory location : STACK +seedcrc : 0xe9f5 +[0]crclist : 0xe714 +[0]crcmatrix : 0x1fd7 +[0]crcstate : 0x8e3a +[0]crcfinal : 0xcc42 +Errors detected + + +Print Personal Added Addtional Info to Easy Visual Analysis + + (Iterations is: 800 + (total_ticks is: 237323748 + (*) Assume the core running at 1 MHz + So the CoreMark/MHz can be calculated by: + (Iterations*1000000/total_ticks) = 3.370923 CoreMark/MHz + + +CSV, Benchmark, Iterations, Cycles, CoreMark/MHz +CSV, CoreMark, 800, 237323748, 3.370 +IPC = Instret/Cycle = 187415138/237323748 = 0.789 + +``` + +## Coremark (LLVM版) + +编译Coremark + +``` + +cd ~/nuclei-sdk/application/baremetal/benchmark/coremark + +make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_llvm clean +make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_llvm all + +``` + +在终端2执行烧录: + +``` + +sudo chmod 666 /dev/ttyUSB1 + +riscv64-unknown-elf-gdb coremark.elf -ex "target extended-remote localhost:3333" -ex "monitor reset halt" -ex "load" -ex "monitor resume" -ex "quit" + +minicom -D /dev/ttyUSB1 -b 115200 + +``` + +正常情况下,终端会看到类似如下输出: + +``` +CSV, Benchmark, Iterations, Cycles, CoreMark/MHz +CSV, CoreMark, 800, 1366745084, 0.585 +IPC = Instret/Cycle = 904435054/1366745084 = 0.661 +Nuclei SDK Build Time: May 31 2026, 17:35:03 +DownNuclei SDK Build Time: Nuclei SDK Build TimNuclei SDK Build Time: May 31 2026, 17:9 +Download Mode: FLASHXIP +CPU Frequency 108000000 Hz +Start to run coremark for 800 iterations +2K performance run parameters for coremark. +CoreMark Size : 666 +Total ticks : 396216119 +Total time (secs): 3.668667 +Iterations/Sec : 218.062840 +ERROR! Must execute for at least 10 secs for a valid result! +Iterations : 800 +Compiler version : GCCClang 17.0.2 (git@gito.corp.nucleisys.com:software/devtools/llvm) +Compiler flags : -O3 -flto -DITERATIONS=800 -DPERFORMANCE_RUN=1 +Memory location : STACK +seedcrc : 0xe9f5 +[0]crclist : 0xe714 +[0]crcmatrix : 0x1fd7 +[0]crcstate : 0x8e3a +[0]crcfinal : 0xcc42 +Errors detected + + +Print Personal Added Addtional Info to Easy Visual Analysis + + (Iterations is: 800 + (total_ticks is: 396216119 + (*) Assume the core running at 1 MHz + So the CoreMark/MHz can be calculated by: + (Iterations*1000000/total_ticks) = 2.019100 CoreMark/MHz + + +CSV, Benchmark, Iterations, Cycles, CoreMark/MHz +CSV, CoreMark, 800, 396216119, 2.019 +IPC = Instret/Cycle = 307677732/396216119 = 0.776 + +``` From ac024bde6b9666fec3e70e4d0887f9d6da4a0127 Mon Sep 17 00:00:00 2001 From: Zihan Cheng <3886855436@qq.com> Date: Sun, 31 May 2026 21:54:51 +0800 Subject: [PATCH 4/6] Add Chinese README for Hello World example --- Nuclei RV-STAR/HelloWorld/README_zh.md | 178 +++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 Nuclei RV-STAR/HelloWorld/README_zh.md diff --git a/Nuclei RV-STAR/HelloWorld/README_zh.md b/Nuclei RV-STAR/HelloWorld/README_zh.md new file mode 100644 index 0000000..4a41533 --- /dev/null +++ b/Nuclei RV-STAR/HelloWorld/README_zh.md @@ -0,0 +1,178 @@ +--- +sys: baremetal +sys_ver: null +sys_var: null +status: basics +last_update: 2026-05-31 +model: Nuclei RV-STAR +profile: Hello World + +--- + +# 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 + +``` + +克隆 Nuclei SDK + +``` + +git clone https://github.com/Nuclei-Software/nuclei-sdk.git + +cd nuclei-sdk + +``` + +下载并配置 Nuclei 工具链和 OpenOCD + +``` + +wget https://download.nucleisys.com/upload/files/toolchain/gcc/nuclei_riscv_newlibc_prebuilt_linux64_nuclei-2024.tar.bz2 +tar -xjvf nuclei_riscv_newlibc_prebuilt_linux64_nuclei-2024.tar.bz2 + +wget https://download.nucleisys.com/upload/files/toolchain/openocd/nuclei-openocd-2024.02.28-linux-x64.tgz +tar -xzvf nuclei-openocd-2024.02.28-linux-x64.tgz + +export PATH=~/nuclei-sdk/gcc/bin:$PATH +export PATH=~/nuclei-sdk/Nuclei/openocd/2024.02.28/bin:$PATH + +sed -i 's/ -Wl,--no-warn-rwx-segments//' ~/nuclei-sdk/Build/toolchain/nuclei_gnu.mk + +``` + +在终端1启动 OpenOCD + +``` + +sudo openocd -f ~/nuclei-sdk/SoC/gd32vf103/Board/gd32vf103v_rvstar/openocd_gd32vf103.cfg + +``` + +## 说明 + +RV-STAR 是裸机开发板,需要使用 Nuclei 官方提供的专用工具链(包含针对 GD32VF103 芯片的启动文件和链接脚本)。RuyiSDK 作为统一的工具链管理平台,整合了该专用工具链。 + +## Hello World (GCC版) + +编译Hello World + +``` +cd ~/nuclei-sdk/application/baremetal/helloworld + +cat > main.c << 'EOF' +#include + +int main(void) { + printf("Hello RISC-V from RV-STAR!\n"); + printf("Testing GCC toolchain with Nuclei SDK.\n"); + return 0; +} +EOF + +make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_gnu clean +make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_gnu all + +``` + +在终端2执行烧录 + +``` + +sudo chmod 666 /dev/ttyUSB1 + +riscv64-unknown-elf-gdb helloworld.elf -ex "target extended-remote localhost:3333" -ex "monitor reset halt" -ex "load" -ex "monitor resume" -ex "quit" + +minicom -D /dev/ttyUSB1 -b 115200 + +``` + +正常情况下,终端会看到类似如下输出: + +``` + +Nuclei SDK Build Time: May Nuclei SDK Build Time: May 31 202Nuclei SDK Build Time: May0 +�Nuclei SDK Build Time: May 31 2026, 17:59:30 +Download Mode: FLASHXIP +CPU Frequency 108000000 Hz +Hello RISC-V from RV-STAR! +Testing GCC toolchain with Nuclei SDK. + +``` + +## Hello World (LLVM版) + +编译Hello World + +``` +cd ~/nuclei-sdk/application/baremetal/helloworld + +cat > main.c << 'EOF' +#include + +int main(void) { + printf("Hello RISC-V from RV-STAR!\n"); + printf("Testing LLVM/Clang toolchain with Nuclei SDK.\n"); + return 0; +} +EOF + +make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_llvm clean +make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_llvm all + +``` + +在终端2执行烧录 + +``` + +sudo chmod 666 /dev/ttyUSB1 + +riscv64-unknown-elf-gdb helloworld.elf -ex "target extended-remote localhost:3333" -ex "monitor reset halt" -ex "load" -ex "monitor resume" -ex "quit" + +minicom -D /dev/ttyUSB1 -b 115200 + +``` + +正常情况下,终端会看到类似如下输出: + +``` + +Nuclei SDK Build Time: May 31 2026, 18:01:49 +Download Mode:Nuclei SDK Build Time: May 31 2026, 18:01:Nuclei SDK Build Time: May 31 7 +Download Mode�Nuclei SDK Build Time: May 31 2026, 18:04:17 +Download Mode: FLASHXIP +CPU Frequency 108000000 Hz +Hello RISC-V from RV-STAR! +Testing LLVM/Clang toolchain with Nuclei SDK. + +``` From 07133fa1b064a3cef4851578deb33b976c997633 Mon Sep 17 00:00:00 2001 From: Zihan Cheng <3886855436@qq.com> Date: Mon, 1 Jun 2026 18:18:02 +0800 Subject: [PATCH 5/6] Enhance README_zh.md with setup instructions --- Nuclei RV-STAR/Coremark/README_zh.md | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/Nuclei RV-STAR/Coremark/README_zh.md b/Nuclei RV-STAR/Coremark/README_zh.md index 61fc3c8..a9cb68a 100644 --- a/Nuclei RV-STAR/Coremark/README_zh.md +++ b/Nuclei RV-STAR/Coremark/README_zh.md @@ -11,6 +11,8 @@ profile: Coremark # RuyiSDK 基础示例 +> 说明:Nuclei RV-STAR 硬件驱动依赖 Nuclei 官方 SDK 和专用工具链。本示例中,RuyiSDK 仅用于虚拟环境管理、源码获取和编辑,编译烧录仍使用 make 和 openocd 命令。 + 可直接在开发板上进行编译和运行的示例,适合初学者快速上手。 安装依赖包 @@ -33,13 +35,15 @@ sudo cp -v ruyi-0.47.0.riscv64 /usr/local/bin/ruyi ``` -安装工具链 +创建 RuyiSDK 虚拟环境 ``` ruyi update -ruyi install gnu-plct llvm-plct +ruyi venv -t gnu-plct generic ./ruyi-venv + +source ruyi-venv/bin/activate ``` @@ -53,21 +57,31 @@ cd nuclei-sdk ``` -下载并配置 Nuclei 工具链和 OpenOCD +下载 Nuclei 专用 GCC 工具链 ``` wget https://download.nucleisys.com/upload/files/toolchain/gcc/nuclei_riscv_newlibc_prebuilt_linux64_nuclei-2024.tar.bz2 tar -xjvf nuclei_riscv_newlibc_prebuilt_linux64_nuclei-2024.tar.bz2 +``` + +下载 Nuclei OpenOCD + +``` + wget https://download.nucleisys.com/upload/files/toolchain/openocd/nuclei-openocd-2024.02.28-linux-x64.tgz tar -xzvf nuclei-openocd-2024.02.28-linux-x64.tgz +``` + +设置环境变量 + +``` + export PATH=~/nuclei-sdk/gcc/bin:$PATH export PATH=~/nuclei-sdk/Nuclei/openocd/2024.02.28/bin:$PATH -sed -i 's/ -Wl,--no-warn-rwx-segments//' ~/nuclei-sdk/Build/toolchain/nuclei_gnu.mk - ``` 在终端1启动 OpenOCD @@ -78,10 +92,6 @@ sudo openocd -f ~/nuclei-sdk/SoC/gd32vf103/Board/gd32vf103v_rvstar/openocd_gd32v ``` -## 说明 - -RV-STAR 是裸机开发板,需要使用 Nuclei 官方提供的专用工具链(包含针对 GD32VF103 芯片的启动文件和链接脚本)。RuyiSDK 作为统一的工具链管理平台,整合了该专用工具链。 - ## Coremark (GCC版) 编译Coremark From ed8661de6503f43cce957d67e4297199fab54554 Mon Sep 17 00:00:00 2001 From: Zihan Cheng <3886855436@qq.com> Date: Mon, 1 Jun 2026 18:24:10 +0800 Subject: [PATCH 6/6] Enhance README_zh.md with setup and compilation steps --- Nuclei RV-STAR/HelloWorld/README_zh.md | 53 ++++++++++---------------- 1 file changed, 20 insertions(+), 33 deletions(-) diff --git a/Nuclei RV-STAR/HelloWorld/README_zh.md b/Nuclei RV-STAR/HelloWorld/README_zh.md index 4a41533..b6aa599 100644 --- a/Nuclei RV-STAR/HelloWorld/README_zh.md +++ b/Nuclei RV-STAR/HelloWorld/README_zh.md @@ -11,6 +11,8 @@ profile: Hello World # RuyiSDK 基础示例 +> 说明:Nuclei RV-STAR 硬件驱动依赖 Nuclei 官方 SDK 和专用工具链。本示例中,RuyiSDK 仅用于虚拟环境管理、源码获取和编辑,编译烧录仍使用 make 和 openocd 命令。 + 可直接在开发板上进行编译和运行的示例,适合初学者快速上手。 安装依赖包 @@ -33,13 +35,15 @@ sudo cp -v ruyi-0.47.0.riscv64 /usr/local/bin/ruyi ``` -安装工具链 +创建 RuyiSDK 虚拟环境 ``` ruyi update -ruyi install gnu-plct llvm-plct +ruyi venv -t gnu-plct generic ./ruyi-venv + +source ruyi-venv/bin/activate ``` @@ -53,21 +57,31 @@ cd nuclei-sdk ``` -下载并配置 Nuclei 工具链和 OpenOCD +下载 Nuclei 专用 GCC 工具链 ``` wget https://download.nucleisys.com/upload/files/toolchain/gcc/nuclei_riscv_newlibc_prebuilt_linux64_nuclei-2024.tar.bz2 tar -xjvf nuclei_riscv_newlibc_prebuilt_linux64_nuclei-2024.tar.bz2 +``` + +下载 Nuclei OpenOCD + +``` + wget https://download.nucleisys.com/upload/files/toolchain/openocd/nuclei-openocd-2024.02.28-linux-x64.tgz tar -xzvf nuclei-openocd-2024.02.28-linux-x64.tgz +``` + +设置环境变量 + +``` + export PATH=~/nuclei-sdk/gcc/bin:$PATH export PATH=~/nuclei-sdk/Nuclei/openocd/2024.02.28/bin:$PATH -sed -i 's/ -Wl,--no-warn-rwx-segments//' ~/nuclei-sdk/Build/toolchain/nuclei_gnu.mk - ``` 在终端1启动 OpenOCD @@ -78,10 +92,6 @@ sudo openocd -f ~/nuclei-sdk/SoC/gd32vf103/Board/gd32vf103v_rvstar/openocd_gd32v ``` -## 说明 - -RV-STAR 是裸机开发板,需要使用 Nuclei 官方提供的专用工具链(包含针对 GD32VF103 芯片的启动文件和链接脚本)。RuyiSDK 作为统一的工具链管理平台,整合了该专用工具链。 - ## Hello World (GCC版) 编译Hello World @@ -89,16 +99,6 @@ RV-STAR 是裸机开发板,需要使用 Nuclei 官方提供的专用工具链 ``` cd ~/nuclei-sdk/application/baremetal/helloworld -cat > main.c << 'EOF' -#include - -int main(void) { - printf("Hello RISC-V from RV-STAR!\n"); - printf("Testing GCC toolchain with Nuclei SDK.\n"); - return 0; -} -EOF - make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_gnu clean make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_gnu all @@ -120,8 +120,7 @@ minicom -D /dev/ttyUSB1 -b 115200 ``` -Nuclei SDK Build Time: May Nuclei SDK Build Time: May 31 202Nuclei SDK Build Time: May0 -�Nuclei SDK Build Time: May 31 2026, 17:59:30 +Nuclei SDK Build Time: May 31 2026, 17:59:30 Download Mode: FLASHXIP CPU Frequency 108000000 Hz Hello RISC-V from RV-STAR! @@ -136,16 +135,6 @@ Testing GCC toolchain with Nuclei SDK. ``` cd ~/nuclei-sdk/application/baremetal/helloworld -cat > main.c << 'EOF' -#include - -int main(void) { - printf("Hello RISC-V from RV-STAR!\n"); - printf("Testing LLVM/Clang toolchain with Nuclei SDK.\n"); - return 0; -} -EOF - make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_llvm clean make SOC=gd32vf103 BOARD=gd32vf103v_rvstar TOOLCHAIN=nuclei_llvm all @@ -168,8 +157,6 @@ minicom -D /dev/ttyUSB1 -b 115200 ``` Nuclei SDK Build Time: May 31 2026, 18:01:49 -Download Mode:Nuclei SDK Build Time: May 31 2026, 18:01:Nuclei SDK Build Time: May 31 7 -Download Mode�Nuclei SDK Build Time: May 31 2026, 18:04:17 Download Mode: FLASHXIP CPU Frequency 108000000 Hz Hello RISC-V from RV-STAR!