在 Milk-V Duo S 上运行 RT-Thread

大家好,我是 PLCT 丁丑小队 J129 开发板软件生态联合观测岗位的一名实习生。我们会定期在本版介绍 RuyiSDK 支持矩阵(https://github.com/ruyisdk/support-matrix ,网页版可以访问 https://matrix.ruyisdk.org/ )的近期进展、开发板系统/软件支持情况、性能测试结果、软件生态进展同步等内容。本期以 Milk-V Duo S 为例,向大家介绍 RT-Thread 这个操作系统对 RISC-V 的支持情况。


RT‑Thread 是一款国产开源实时操作系统(RTOS),最初于 2006 年启动,由熊谱翔先生带领并集合开源社区力量开发而成, 具备一个 IoT OS 平台所需的所有关键组件,目前广泛应用于智能硬件、工业控制、消费电子、车载以及医疗设备等行业。

针对不同的使用场景,RT-Thread 提供了三个不同版本:Nano、标准版和 Smart:RT-Thread Nano 是一个极简版的硬实时内核,内存资源占用极小,适用于资源极受限的 MCU;RT-Thread Smart 则是基于 RT-Thread 操作系统上的混合操作系统,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间。

支持矩阵最近更新了 Milk-V Duo S 在 RT-Thread 标准版的测试报告,测试版本为 RT-Thread v5.2.1,由于 Duo S 使用的 SG2000 有大小核 (C906@1GHz + C906@700MHz),故需要为大小核进行单独编译,具体的支持情况如下:

BSP 大小核 芯片架构 备注
cv18xx_risc-v 大核 RISC-V C906 支持 MMU,支持 RT-Thread 标准版 和 RT-SMART 模式,默认运行 RT-SMART 版本
c906-little 小核 RISC-V C906 无 MMU,运行 RT-Thread 标准版

RT-Thread 的标准版需要配置专门的工具链 (riscv64-unknown-elf-gcc),详细信息可查看官方文档:https://github.com/RT-Thread/rt-thread/tree/master/bsp/cvitek

工具链配置完成并选择目标开发板后,就可以正常编译了,注意需要为 c906_littlecv18xx_risc-v 都进行构建,构建结果在 bsp/cvitek/output/duos 下,为 fip.binboot.sd ,接下来,为 SD 卡进行分区,写入这两个文件,便可正常启动。

更详细的操作步骤和屏幕录像,可以访问测试报告进行查看。


欢迎各位复现/吐槽丁丑小队的所有测试结果。

如果有对我们的测试方法/结果有任何建议/问题,欢迎直接在 GitHub 开 issue,或者在论坛 @ 我、回帖询问。

5 个赞