Blog
Bleiben Sie mit aktuellen Nachrichten vom RuyiSDK-Team auf dem Laufenden
12月29日,面向 TH1520 的 RevyOS 操作系统已完成内核版本从 5.1 至 6.6 的更新,并提供了对 Milk-V Meles 和 LicheePi 4A 的最新支持,新增支持如下:
- CPU 调频和风扇调速功能
- 支持 Milk-V Meles 和 LicheePi 4A 8GB 内存版本
- 在 eMMC 存储上运行正常,可以通过 eMMC 启动操作系统
- 有线网络连接功能,确保用户在使用时可以通过以太网稳定地连接互联网
- HDMI 显示输出/音频
- 支持 AP6256 WiFi 模块(需要更新内核后使用)
截至 目前,RevyOS 已全面覆盖 Milk-V Meles 4GB/8GB/16GB 和 LicheePi 4A 8GB/16GB 的多版本支持。

Milk-V Meles 最新 RevyOS 版本镜像下载地址(镜像支持SD卡刷写):
https://mirror.iscas.ac.cn/revyos/extra/images/meles/20241229/

LicheePi 4A 最新 RevyOS 版本镜像下载地址(镜像支持SD卡刷写):
https://mirror.iscas.ac.cn/revyos/extra/images/lpi4a/20241229/
为了帮助开发者更好地理解和使用 RevyOS,团队还提供了丰富的教程文档,涵盖了 Debian 软件包构建、GCC 编译工具链、 XuanTie QEMU 编译流程以及内核替换与编译等,请访问官方文档库获取更多资源:

https://docs.revyos.dev/
基于玄铁 C910 内核,最高主频可达2.5GHz,支持全链路安全防护,具有4k视频处理能力,同时含有丰富的异构计算和高速IO资源。可广泛用于中高性能的应用场景,欢迎开发者扫码,备注【TH1520 】进微信群。

Eclipse 是一款开源且功能强大的集成开发环境(IDE),广泛支持多种编程语言,为开发者提供了一个统一的平台,用于编写、调试和管理代码。同时,Eclipse 还具备强大的插件系统,可根据需求灵活扩展功能。
近期,来自中国科学院软件研究所(ISCAS)的 RevyOS 小队的工程师联合其他开源社区开发者,成功为 Eclipse 上游代码仓库引入了对 riscv64 架构的初步支持。期间创建了二十余个 Issue/PR,涵盖了包括 SWT、Equinox 在内的关键组件。目前,Eclipse 已支持在 riscv64 平台上基于 OpenJDK 开发 Java 项目。

图1-Eclipse upstream 涉及到几十个不同的组建和支持过程,许多开发者都进行了贡献
相关改动已 被合入上游,感兴趣的朋友可通过下方链接,建议选择 Integration Builds 板块中的最新构建日期(20240929以后每日构建支持riscv)进入每日构建资源页面,选择“Eclipse SDK -> Linux (64 bit version for RISC-V)”下载后进行体验。
https://download.eclipse.org/eclipse/downloads/index.html

图2-在安装了 Debian 操作系统的 SiFive Unmatched 上测试运行 Eclipse SDK IDE
接下来,RevyOS 小队将继续完善 Eclipse riscv64 的支持,敬请期待更多优化与改进!
中国科学院软件研究所诚邀对开源技术充满热情的开源软件贡献者加入进来,助力 Eclipse 在 riscv64 平台上的发展。
关于 ISCAS、RevyOS小队
RevyOS小队隶属于 PLCT Lab, ISCAS。ISCAS 是 RISC-V International 的 Development Partner、Training Partner,同时在2024年8月获得了 RISC-V Ecosystem Labs 认证。
特别致谢以下贡献者
于波、陈璇、Hannes Wellmann、Alexander Kurtakov、Ed Merks、Pawel Stankiewicz、Frederic Gurr
如有遗漏,请联系作者
在上期文章中,向大家介绍了《玄铁团队与PLCT实验室联合发布:新32位产品级开源工具链及Linux内核》,本期为大家带来新32位(RV64ILP32)产品化的最新进展:嘉楠勘智K230D。去年,嘉楠推出 K230,它基于玄铁c908 打造,是世界上第一款带有 VECTOR 1.0 的 RISC-V 64位 AIOT 芯片。今年,嘉楠勘智推出更高集成度的 K230D AIoT 芯片,内存由原来外挂 256MB/512MB 改为内封 128MB。原先基于 LP64 ABI 的软件内存开销过大,不再适合 K230D,而新32位技术可同时提升内存与缓存的效率。PLCT实验室联合玄铁团队,一起为 K230D 打造基于新32位的 RuyiSDK,第一次实现新32位 AIoT 产品的落地。相比原先基于 LP64 ABI 的 SDK,新32位 SDK 内存开销下降 30%,同时链表遍历性能提升 20%,兼顾成本和性能。

达摩院玄铁团队联手嘉楠科技和中科院软件所PLCT实验室,将新32位落地到Banana Pi开源社区的BPI-CANMV-K230D-Zero 开发板,并与PLCT实验室的 RuyiSDK 集成,一起为用户提供便捷的使用体验:
| 传统64位(64LP64) | 新32位(64ILP32) |
---|
内核编译命令 | make ARCH=riscv k230_defconfig all | make ARCH=riscv k230_defconfig 64ilp32.config all |
默认配置差异仅2行:
CONFIG_ARCH_RV64ILP32=y
CONFIG_32BIT=y
下面的视频和图片展示了,传统64位(左)与新32位(右)对比 LVGL 的运行:

动态内存对比 | 传统64位 (RV64 LP64) | 新32位 (RV64 ILP32) |
---|
used | 37MB | 24MB |
静态内存对比 | 传统64位 (RV64 LP64) | 新32位 (RV64 ILP32) |
---|
kernel code | 10282KB | 10456KB |
rwdata | 1126KB | 832KB |
rodata | 5105KB | 4464KB |
bss | 500KB | 376KB |
相比传统64位,新32位 RuyiSDK 大幅提升内存使用效率,避免了 K230D 产品化中的内存浪费。
由于 LP64 的指针数据类型比 ILP32 大一倍,导致 LP64 的缓存利用率偏低。下面,基于 K230D 对比二者的双向链表遍历性能:
| 第一次执行时长 | 第二次执行时长 | 第三次执行时长 | 第四次执行时长 | 第五次执行时长 | 平均执行时长 |
---|
| 单位:纳秒 | | | | | 单位:秒 |
LP64 | 3872221628 | 3420261850 | 3774494961 | 3539484998 | 4034940590 | 3.728280805 |
ILP32 | 2614749257 | 2261891517 | 2680216665 | 2894499368 | 2847282036 | 2.659727769 |
结果显示,ILP32 的链表遍历性能显著优于 LP64。