Skip to main content

Newsletter RuyiSDK

Get the latest development progress every two weeks

第 043 期·2025 年 04 月 22 日

· 6 min read
xijing21
RuyiSDK 项目经理
xen0n
RuyiSDK 技术主管
狐坂澪夜
RuyiSDK 测试经理

卷首语

近两周进展已呈上,欢迎阅读《RuyiSDK 双周进展汇报》第 43 期。如果您在 RuyiSDK 的使用中遇到问题,欢迎参加每双周四下午 15:00 开展的 “RuyiSDK Office Hours” 获得在线答疑支持服务(下一次在4月25日),也可以在 RuyiSDK讨论区 反馈。

受五一假期影响,下个开发版本将顺延至5月13日发布,我们将持续带来更多创新改进。

包管理器

RuyiSDK 0.32 对应的包管理器版本也为 0.32.0,已于今日发布。您可移步 GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • 新增了贡献指南文档,使社区成员更容易参与项目贡献。
  • 为流程合规,现在要求所有向 RuyiSDK 发起的拉取请求(Pull Requests)都包含开发者原创声明(Developer's Certificate of Origin, DCO)了。

本次 RuyiSDK 软件源的更新主要包含了以下内容:

  • 完善了设备支持:
    • 新增支持了适用于 SpacemiT K1 设备的特殊刷写策略。
    • 修复了设备安装器调用 fastboot 失败的问题。
    • 更新了 Sipeed LicheeRV Nano 的 Buildroot SDK 镜像。
    • 更新了 Sipeed LicheePi 4A 的 RevyOS 镜像版本并修复问题。
    • 更新了 Milk-V Meles 的 RevyOS 镜像。
  • 重命名了软件包 board-image/revyos-sg2042-milkv-pioneerboard-image/revyos-milkv-pioneer 以符合当前的软件包命名规范。
  • 实体数据库更新:
    • 设备实体定义现已与设备安装器支持范围对齐。补充了 Milk-V、Sipeed、Canaan、StarFive、WCH 等厂商的设备定义。

本次 RuyiSDK 服务端组件的更新主要包含了以下内容:

  • 优化了 ruyisdk.org 官网数据统计页面的性能。
  • 集成了 GitHub Releases 渠道的下载量到官网数据统计页面的 RuyiSDK 包管理器下载计数中,使统计数据更准确、全面。
  • 将原先位于 RuyiSDK 包管理器仓库、需要手工配置生效的镜像源同步脚本迁移到了服务端。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与 RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

  • 将插件仓库规范化迁移到ruyisdk-eclipse-plugins ,并对代码进行了重构和优化:
    • 重构插件组织,基础类调整到 org.ruyisdk.core 包下,作为其它插件的依赖项;实现XDG规范目录的设置和路径获取;
    • 重构和优化设备管理,调整配置文件到 ~/.config/ruyisdkide 下,并将UI从继承 viewpart 实现修改为 PreferencePage,实现了通过 Windows > preferences > Device Manage 进行管理,更加符合使用场景。
  • 新增 ruyi 包管理器安装检测、版本检测等基础类;

GCC

  • 添加了zama16b,sdtrig,zvfbfmin 扩展的支持,重新提交了ssnpm 的 patch。

LLVM

V8

  • 处理 scriptcontext 里面 let 涉及的常量和变量,避免重复堆分配和垃圾回收开销。
  • 修复了构建错误和段错误 bug。
  • 优化 RiscvCmpDouble 和 RiscvCmpSingle 的 codegen。

操作系统支持矩阵

官网

第 042 期·2025 年 04 月 08 日

· 6 min read
xijing21
RuyiSDK 项目经理
xen0n
RuyiSDK 技术主管

卷首语

大家好,RuyiSDK 近期在持续迭代的基础上,也在用户支持上做出更多努力。围绕 RuyiSDK 的使用、问题与缺陷、改进建议等在线会议 RuyiSDK Office Hours 本周四将迎来第二次会议,欢迎您的关注与加入。

第2次RuyiSDK Office Hours会议安排如下:

我们期待在会议中与您交流,共同推动 RuyiSDK 的发展!

参考链接:

下一个开发版本预计将在 2025 年 4 月 22 日发布。感谢您一直以来的支持与关注,如有任何问题,欢迎联系我们,您的反馈是我们前进的动力!

包管理器

RuyiSDK 0.31 对应的包管理器版本也为 0.31.0,已于今日发布。您可移步 GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • RuyiSDK 设备安装器在需要安装的软件包不止一个可用版本的时候,会额外允许您选择一个非默认(最新)的版本了。如果您的开发板需要旧版本的系统,该功能对您可能有所帮助。
  • 新增了实验模式开关:环境变量 RUYI_EXPERIMENTAL,用于启用一些我们暂不承诺兼容性的实验性功能。
  • 新增了实验性功能:实体数据库。
    • 该功能有助于 RuyiSDK 为您提供与手头设备关联的有用信息。例如,可用 ruyi list --related-to-entity device:sipeed-lpi4a 查询适用于 Sipeed LicheePi 4A 的各种软件包了。
    • 初期支持 CPU 微架构(如香山南湖、玄铁 C910 等等)、CPU 型号(如香山南湖、玄铁 TH1520 等等)、设备型号(如 Sipeed LicheePi 4A 等等)、软件包等四种实体类型。
    • 这些功能为预览版,后续不排除作出不兼容变更以适应需求,因此仅在启用实验模式时才可用。如您有使用场景,请保持您的 ruyi 与软件源为最新。
  • 工程化迭代:
    • 为避免 CI 物理机资源的临时下线等原因影响到发版,将 RISC-V 架构的构建任务也暂时迁移至 GitHub Actions 公开免费提供的实例上了。
    • 将构建 ruyi 的单文件分发版本所用的 Python 版本升级到了 3.13.2。

本次 RuyiSDK 软件源的更新主要包含了以下内容:

  • 更新了 toolchain/gnu-plcttoolchain/gnu-upstream 两种工具链包到 0.20250401.0。敬请试用!
    • 其中,gnu-plct 工具链套件提供的软件版本如下:
      • binutils 2.42,PLCT 维护分支
      • gcc 14.1.0,PLCT 维护分支,含 P 扩展与 RV64ILP32 ABI 支持
      • gdb 16.0,PLCT 维护分支
      • glibc 2.40,PLCT 维护分支
      • linux-headers 6.13
    • gnu-upstream 工具链套件提供的软件版本如下:
      • binutils 2.43.1
      • gcc 14.2.0
      • gdb 16.2
      • glibc 2.41
      • linux-headers 6.13

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与 RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

  • RuyiSDK IDE 近期正在优化启动功能,增加包管理器的安装检查、安装、版本检查、升级等功能;及执行过程中的执行状态显示;
  • RuyiSDK IDE 正在招聘插件开发实习生,详情参考 J159 RuyiSDK IDE 开发实习生 ,欢迎加入。

GCC

  • 修复了zicbop 的回归测试问题,正在实现 zvfbfa 扩展支持。

LLVM

  • 在 17.1.6 版本中修复了 vector reduction 内建指令的指令选择问题。

V8

  • Atomic views 适配 Tuboshaft IR;修复trap handler崩溃的问题
  • 优化后端 opcde , 删除 RiscvCtz/RiscvPopcnt

操作系统支持矩阵

第 041 期·2025 年 03 月 25 日

· 6 min read
xijing21
RuyiSDK 项目经理
xen0n
RuyiSDK 技术主管

卷首语

大家好,RuyiSDK 项目组为了更好地帮助开发者掌握 RuyiSDK 的使用,让开发团队能更加深入了解大家的需求从而改进产品,我们诚挚邀请您参加 RuyiSDK Office Hours 线上会议(类似于RISC-V技术答疑时间)。我们期待与您通过线上会议的方式相聚,共同探讨如何提升 RuyiSDK 的用户体验。会议内容将主要围绕 RuyiSDK 的使用、问题与缺陷、改进建议等话题进行交流,同时也欢迎大家讨论与 RISC-V 相关的任何问题。

会议安排如下:

我们期待在会议中与您交流,共同推动 RuyiSDK 的发展!

参考链接:

下一个开发版本预计将在 2025 年 4 月 8 日发布。感谢您一直以来的支持与关注,如有任何问题,欢迎联系我们,您的反馈是我们前进的动力!

包管理器

RuyiSDK 0.30 对应的包管理器版本也为 0.30.0,已于今日发布。您可移步 GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • 修复了 ruyi list --category-contains 不工作的问题。
  • 修复了全新安装 ruyi 之后直接进行 ruyi install 会崩溃的问题。
  • 软件源格式更新:
    • 基于目前的设备安装器配置数据,新增实验性的结构化设备型号描述数据库,初期支持为每种设备型号描述其 CPU 与微架构能力。
  • 工程化迭代:
    • 将 AArch64 架构的构建任务迁移至 GitHub Actions 公开免费提供的实例上,以降低 RuyiSDK 团队的维护成本。
    • 修复了 CI 开源许可证检查任务。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与 RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

RuyiSDK IDE 近期正在实现基于包管理器(ruyi list)的软件包资源管理,功能开发中。

此外,RuyiSDK IDE 正在招聘插件开发实习生,欢迎有兴趣的小伙伴加入开发团队,详情参考 J159 RuyiSDK IDE 开发实习生 ,期待您的加入。

GCC

提交了Ssnpm, Smnpm与Smmpm 的工具链支持,在社区中对玄铁C系列RISC-V芯片添加了mcpu选项支持

LLVM

  • 在 17.1.6 版本中新增默认 _mu_tum 类 policy 的 XTHeadVector 内建指令,与 RVV 1.0 的命名方式提供更好的兼容性。
  • 在 17.1.6 中修复 mask 版本的 vector bitwise logical 内建指令的指令选择问题。
  • 在 17.1.6 中补全 vector integer merge 和 vector floating-point merge 相关的内建指令。

V8

  • 继续增加 WASM JSPI 的支持功能:
    • in-sandbox chain of stacks
    • 删除 jump buffer 外部指针
  • 增加 C++ 垃圾回收模块的 Scan simulator stack and registers 功能
  • 修复 WASM OOB Trap Handler 特性中,Fault Address Register 没有在 mcontext 中被正确设置的 bug
  • 审阅并合入 syntacore 的2个 patch :
    • 优化32位比较操作代码生成
    • 类型转换优化
  • 修复非对齐 load/store 的代码生成中临时寄存器不够用的问题
  • 在指令选择阶段内联 Adapter's DeoptimizeView

操作系统支持矩阵

第 040 期·2025 年 03 月 11 日

· 5 min read
xijing21
RuyiSDK 项目经理
xen0n
RuyiSDK 技术主管

卷首语

欢迎阅读《RuyiSDK 双周进展汇报》第 40 期。在过去的两周里,我们团队持续努力,推进各项功能的开发与优化,具体进展将在下文中详细呈现。

我们期待在 2025 年 3 月 25 日发布下一个开发版本,届时将带来更多创新与改进。感谢您一直以来的支持与关注,您的反馈是我们前进的动力!

包管理器

RuyiSDK 0.29 对应的包管理器版本也为 0.29.0,已于今日发布。您可移步 GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • 修复了 ruyi news list 命令的机读模式(porcelain mode)支持。
  • ruyi news read 增加了机读模式(porcelain mode)支持,返回格式与 ruyi news list 相同。
  • 软件源格式更新:
    • 不再支持以 JSON 格式撰写软件源全局配置与软件包描述。RuyiSDK 官方软件源已于 0.18 版本完成了升级,预期不受此变更影响。如您仍未升级您的 ruyi 版本,建议您重新安装 ruyi 并重做虚拟环境(如有)。
    • 为软件包版本描述新增了可选的 upstream_version 字段,用来记录相应上游对该版本的称呼。由于 RuyiSDK 软件源普遍采用语义化版本,经常需要对不采用语义化版本的上游版本号进行映射;新增该字段有助于 RuyiSDK 生态的软件包管理工具正确理解该类映射关系。
    • 为未来的软件包级别的公共信息作了向后兼容的预留。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与 RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

  • RuyiSDK IDE Plugins 插件,新增 RISC-V 开发板管理功能,支持添加、编辑、删除及设置默认开发板。

    插件使用说明:

    1. 下载 org.ruyisdk.ide_0.0.3.jar
    2. 访问 https://mirror.iscas.ac.cn/ruyisdk/ide/0.0.3/ 下载 ruyisdk-0.0.3 并解压。
    3. 将 org.ruyisdk.ide_0.0.3.jar 放入 ruyisdk ide 的 dropins 目录。
    4. 执行 ./ruyisdk 重启 IDE。
    5. 启动后在菜单栏点击 "RuyiSDK" > "Open Board Manager" 即可打开 "RISC-V Board Manager" View 进行添加、编辑、删除及设置默认开发板等操作。

GCC

  • 更新了p扩展寄存器对指令的工具链支持,正在实现RVA23S的有关特权指令扩展中。

LLVM

  • 在 19.1.6 版本中修复了 Greedy Register Allocator 在某些 XTHeadVector intrinsic 上导致的编译器内部错误的问题
  • 在 17.1.6 版本中新增部分 XTHeadVector intrinsic 的操作数范围检查,和 RVV 1.0 行为对齐

V8

  • 在陆续添加TurborShaft IR支持后,删除TurboFan SON IR相关的旧代码
  • 审核类型转换优化、32bit比较优化patch(来自syntacore)
  • 实现Wasm JSPI功能中沙盒内的chain of stacks功能
  • 删除RISCV指令集不支持的ByteSwap 代码生成支持

操作系统支持矩阵

第 039 期·2025 年 02 月 25 日

· 5 min read
xijing21
RuyiSDK 项目经理
xen0n
RuyiSDK 技术主管

卷首语

欢迎阅读《RuyiSDK 双周进展汇报》第 39 期。在过去的两周里,我们团队持续努力,推进各项功能的开发与优化,具体进展将在下文中详细呈现。

我们期待在2025年3月11日发布下一个开发版本,届时将带来更多创新与改进。感谢您一直以来的支持与关注,您的反馈是我们前进的动力!

包管理器

RuyiSDK 0.28 对应的包管理器版本也为 0.28.0,已于今日发布。您可移步 GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • 运行不依赖软件源的命令时,如软件源仓库尚未拉取到本地,现在不会多余做拉取动作了。
  • ruyi list 现在支持基本的过滤查询了:使用 --category-is 查询某个分类下的软件包,使用 --name-contains 查询名称中包含特定字样的软件包。
  • 考虑到软件包的数量持续增加,不带任何参数的 ruyi list 不再受到支持。如果您有依赖先前行为的脚本等,请按照提示修改使用方式。

本次 RuyiSDK 软件源的更新主要包含了以下内容:

  • 新增了以下软件包:
    • source/wiringx: wiringX 项目的官方源码。wiringX 是模块化的 GPIO 支持组件。
  • 更新了以下软件包:
    • board-image/bianbu-bpi-f3
    • board-image/revyos-milkv-meles
    • board-image/revyos-sg2042-milkv-pioneer
  • 修复了 board-image/revyos-milkv-melesboot 分区的文件类型标记。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与 RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

  • 实现 Eclipse 插件的三种导出和安装方式,输出操作文档

  • 继续 RuyiSDK IDE Plugins 插件功能开发:

    • 增加启动时执行 ruyi update 命令,并展示未读的 ruyi news 信息(基于接口协议)
    • 实现关于缓存/配置路径的 RuyiPaths 工具类

    插件使用说明:

    1. 环境要求:要求环境中已经安装好了 ruyi ,您可以参考文档安装
    2. 下载 org.ruyisdk.ide_0.0.2.jar
    3. 访问 https://mirror.iscas.ac.cn/ruyisdk/ide/0.0.3/ 下载 ruyisdk-0.0.3 并解压。
    4. 将 org.ruyisdk.ide_0.0.2.jar 放入 ruyisdk ide 的 dropins 目录。
    5. 执行 ./ruyisdk 重启 IDE。启动后会自动弹出未读 News。

GCC

实现了 Xqc 系列自定义厂商扩展支持,等待上游 review 中,继续维护 p 扩展实现,修复了工具链构建中的一些问题。

LLVM

  • 在 17.1.6 版本中修复了缺少 th.vloxeith.vsoxei 指令的问题
  • 在 17.1.6 版本中新增对部分内建函数操作数合法性检查的过程
  • 在 17.1.6 版本中修复部分包装函数名称不符合 RVV 1.0 规范的问题,选择这些包装函数将同时提供 1.0 和 0.7.1 规范下的函数名,以便更方便地进行迁移
  • 在 19.1.6 版本中修复了 MC 汇编器生成部分指令会出现编译器内部错误的问题

V8

  • Review 并合入 Leaptiering 支持
  • 添加模拟器中对 fp16 类型指令的模拟例程
  • 继续增加 Maglev 的特性支持

操作系统支持矩阵

第 038 期·2025 年 02 月 11 日

· 5 min read
xijing21
RuyiSDK 项目经理

卷首语

新年开工啦!🎉 RuyiSDK 团队已经继续启航~🚀

在过年期间,大家短暂地停下脚步,休息整顿,蓄势待发。2025 年,新的一年,新的开始,我们将继续撸起袖子加油干,全力推进 RuyiSDK 的建设,为大家提供更实用、更高效的产品体验! 期待与大家一起创造更多精彩! ✨

我们也非常欢迎大家参与贡献,一起让 RuyiSDK 变得更好!无论是提交代码、反馈问题,还是分享想法,您的参与都是我们前进的动力!💪

RuyiSDK近期的发展动态已详细整理于下方,我们诚挚地邀请各位开发者试用,并期待大家宝贵的反馈与建议。下一个开发版本预计将在 2025 年 2 月 25 日与大家见面,敬请期待!

包管理器

RuyiSDK 0.27 对应的包管理器版本也为 0.27.0,已于昨日发布。您可移步 GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • 新增了 ruyi telemetry upload 命令。如果您乐意配合,现在在 CI 等临时性场合也能确保遥测数据在任务结束、环境被清理之前得到上传了。
  • 支持分别指定软件包版本的服务等级了。如果某个软件包的某个版本存在已知问题,在安装或解压该版本时,ruyi 会输出提示信息,该信息可由打包人员在软件源维护。后续也将支持按照服务等级过滤软件包:届时将可以跳过存在已知问题的版本,或仅使用经过验证的版本等。
  • 工程化相关变更。
    • 支持了 pygit2 1.17.0。ruyi 的单文件分发版本已经切换至该版本了。

本次 RuyiSDK 软件源的更新主要包含了以下内容:

  • 更新了以下软件包:
    • board-image/buildroot-sdk-milkv-duo
    • board-image/buildroot-sdk-milkv-duo256m
    • board-image/buildroot-sdk-milkv-duos-sd
    • board-image/uboot-revyos-sipeed-lpi4a-16g
    • board-image/uboot-revyos-sipeed-lpi4a-8g
  • 修复了一些软件包得到自动化版本升级之后,无法正常下载的问题。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与 RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

RuyiSDK IDE 为了提升易用性,目前以新插件的方式进行了功能扩展。 RuyiSDK IDE Plugins 插件 v0.0.1 发布,新增 RuyiSDK 菜单及官网访问命令。

目前插件整合到RuyiSDK IDE 的工程工作还在完善,当前需要手动将插件拷贝到 RuyiSDK IDE dropins目录使用,未来我们会完善相关工程,提供更加便捷的安装和使用方式。当前您可以参考下方的使用说明来安装和使用。

插件使用说明:

  1. 下载 org.ruyisdk.ide_0.0.1.jar
  2. 访问 https://mirror.iscas.ac.cn/ruyisdk/ide/0.0.3/ 下载 ruyisdk-0.0.3 并解压。
  3. 将 org.ruyisdk.ide_0.0.1.jar 放入 ruyisdk ide 的 dropins 目录。
  4. 执行 ./ruyisdk 重启 IDE。
  5. 通过菜单栏 RuyiSDK > Official Website 访问官网。

GCC

更新了P扩展草案的工具链支持至0.14版本,更新了Profiles的规范格式说明。

操作系统支持矩阵

第 037 期·2025 年 01 月 14 日

· 6 min read
xijing21
RuyiSDK 项目经理

卷首语

RuyiSDK包管理器 V0.26 、RuyiSDK IDE V0.0.3 版本已发布。

RuyiSDK包管理器近期在细节上进行完善和优化,主要有新增遥测允许上传设置命令、修复虚拟环境 -mcpu 映射问题、兼容性加强和工程优化等内容。RuyiSDK 软件源则发布了RevyOS新版本,同时配合 -mcpu 映射逻辑升级 profile API。

RuyiSDK IDE 目前针对 milkv duo 开发板进一步完善了开发环境到RISC-V设备之间的文件传输、远程运行、远程调试的使用指导。

支持矩阵项目近期更新主要围绕 LicheePi4A 、Duo、DuoS,关注这三款开发板的小伙伴可以在下方查看变动详情。

RuyiSDK近期的发展动态已详细整理于下方,我们诚挚地邀请各位开发者试用,并期待大家宝贵的反馈与建议。鉴于下一个版本规划日落在了2025年春节假期,我们对发布时间进行了相应的调整,下一个开发版本预计将在 2025 年 2 月 11 日与大家见面。

在此,提前向大家送上新春的祝福:祝您新春快乐,阖家幸福,万事顺意,吉祥如意!

包管理器

RuyiSDK 0.26 对应的包管理器版本也为 0.26.0,已于昨日发布。您可移步 GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • ruyi telemetry status 新增了 --verbose (-v) 选项,供用户在 ruyi telemetry consent 之后继续查看自身遥测数据的上传计划。
  • 修复了使用厂商工具链创建虚拟环境时,工具链 -mcpu 取值可能不被正确映射的问题。如果您受影响,请在 ruyi update 之后重建虚拟环境。
  • 继续加强了平台兼容性保障。
    • 新增了一篇平台兼容性技术文档,明确了当前 ruyi 支持的第三方依赖的基线版本。
    • 以 CI 检查的方式确保了 ruyi 的所有变更都不影响 ruyi 在 Ubuntu 22.04 下通过测试套件。
  • 工程化相关变更。
    • 修复了源码包内遗漏了一层子目录结构的问题。
    • 更新 Poetry 至 2.0 版本,顺带更新了 ruyi 的 Python 项目元数据(pyproject.toml)。

本次 RuyiSDK 软件源的更新主要包含了以下内容:

  • 更新了 board-image/revyos-sipeed-lpi4a
  • 配合 ruyi 0.26.0 相应更改,支持了新的 profile API,以便为虚拟环境正确配置 -mcpu

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与 RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

RuyiSDK IDE V0.0.3 版本发布,下载地址为:https://mirror.iscas.ac.cn/ruyisdk/ide/0.0.3/ 请按照设备环境选择合适的安装包。 V0.0.3 主要修改和更新了 RuyiSDK IDE 的 Welcome 中的 RuyiSDK 相关引导信息,更新为 RuyiSDK 官网和 RuyiSDK IDE 用户指南两部分。

在文档方面,本期重点完成的针对 Milk-V Duo example 示例在 RuyiSDK IDE 中的使用进行说明:

  1. 增加了 Run as Remote Application 方式的运行;
  2. 增加了 Debug 示例和基于 Terminal 和 Debug as Remote Application 方式调试说明;
  3. 进一步明确和优化了编译参数。
  4. 整理 milkv duo sdk 改进需求:milkv duo镜像需要增加 sftp-server、gdbserver 程序,方便在开发时进行文件传输和调试支持。

GCC

更新了Profiles实现规则,在GLIBC中添加了IFUNC符号用于调用,更新了新32位的GDB支持,开始启动GDB SIM的调试工作。

V8

  1. Refactor Relocation支持部分的代码。
  2. 修复 strict 模式下的构建错误问题。

操作系统支持矩阵

第 036 期·2024 年 12 月 31 日

· 6 min read
xijing21
RuyiSDK 项目经理

卷首语

今天是2024年度的最后一天,在这个辞旧迎新的时刻,我谨代表RuyiSDK项目团队,向所有项目的贡献者、参与者表示最诚挚的感谢!衷心感谢大家的关注和支持,祝愿各位元旦快乐,万事如意!

这一期,RuyiSDK包管理器 V0.25 、RuyiSDK IDE V0.0.2 版本已发布。

RuyiSDK包管理器重点完善遥测配置、软件源包版本规范化,并修复了一些已知的问题; RuyiSDK IDE 目前针对 milkv duo 开发板进行了应用示例环境搭建和开发运行,并将相关文档产出集成定制到 IDE Welcome 中;

支持矩阵项目一如既往的发现镜像的更新情况并进行验证,本期支持矩阵有3类设备有镜像添加或更新; gcc在Zilsd/Zclsd扩展支持和Profiles命名规范上取得很大进展;V8 增加了对 Embedded Object 的 reloc 支持,减少加载此类对象的指令数量,同时合入 Syntacore 对浮点数四舍五入的指令生成的优化。

面向 TH1520 的 RuyiSDK 操作系统发了新版本,内核从 5.10 升级到了 6.6,meles 和 lpi4a 升级后的系统镜像已发布

RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议。RuyiSDK 在2024年度一直保持着双周滚动的频率,在2025年度我们将持续按照这个频率快速迭代,下一个开发版本将在 2025 年 1 月 14 日发布。

包管理器

RuyiSDK 0.25 对应的包管理器版本也为 0.25.0,已于今日发布。您可移步 GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • 新增了 ruyi config 子命令,方便用户通过命令行或脚本方式查询、修改 RuyiSDK 包管理器配置。该命令用法受到了 git config 的启发,详见 ruyi config --help 输出。
  • 新增了 ruyi telemetry 子命令,方便用户通过命令行或脚本方式查询、变更遥测偏好。详见 ruyi telemetry --help 输出。
    • 特别地:在您表明遥测偏好前,每次运行 ruyi 您都会收到提醒。您现在可以通过 ruyi telemetry off 关闭遥测数据收集,或通过 ruyi telemetry consent 明确接受遥测数据收集与上传了。
  • 修复了搭配 arpy 1.x 使用时,无法解压 Debian 格式软件包的问题。
  • 新增了两篇规范文档:RuyiSDK 官方软件源的包版本规范,以及 RuyiSDK 中的板卡型号、系统镜像命名规范。您可移步 RuyiSDK 包管理器的仓库 docs/ 目录阅读。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与 RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

RuyiSDK IDE V0.0.2 版本发布,下载地址为:https://mirror.iscas.ac.cn/ruyisdk/ide/0.0.2/ 请按照设备环境选择合适的安装包。V0.0.2 主要进展如下:

  • 针对 Milk-V Duo example 示例在 RuyiSDK IDE 中的编译器安装配置、构建、目标程序传输、运行等进行验证并创建使用文档。
  • 在 RuyiSDK IDE 的 Welcome 中定制了 RuyiSDK 和 Milk-V Duo 的文档链接。

GCC

提交了Zilsd/Zclsd扩展支持的patch,补充了相应的测试用例。开始更新Profiles命名规范,同步LLVM已有的实现方式。

V8

  1. 增加对 Embedded Object 的 reloc 支持,减少加载此类对象的指令数量。
  2. 审阅并合入 Syntacore 对浮点数四舍五入的指令生成的优化。

操作系统支持矩阵

PRContentStatus
https://github.com/ruyisdk/support-matrix/pull/120CI: Add CI for package index syncMerged
https://github.com/ruyisdk/support-matrix/pull/121fix typo in Duo_S linkMerged
https://github.com/ruyisdk/support-matrix/pull/123visionfive2: Add NixOSMerged
https://github.com/ruyisdk/support-matrix/pull/125m0sense: Add RT-ThreadMerged
https://github.com/ruyisdk/support-matrix/pull/126BPI-F3: bianbu update to 2.0.4Merged

第 035 期·2024 年 12 月 17 日

· 6 min read
xijing21
RuyiSDK 项目经理

卷首语

RuyiSDK包管理器 V0.24 版本已于今日发布。RuyiSDK IDE V0.0.1版本发布,本版本面向RuyiSDK测试人员,提供Linux系统 x86_64、riscv64、aarch64 三架构的安装程序,欢迎下载试用和反馈建议。

RuyiSDK包管理器针对兼容性进一步优化更新了依赖版本。RuyiSDK 软件源近期针对开发板镜像进行了更新,用户可以通过系统安装器安装新版本镜像。此外为了让操作系统支持矩阵项目验证的可用镜像能够及时的同步到系统安装器(package-index),支持矩阵小队成员自研发的同步工具已经完成并部署可用,后续镜像数据从调研到集成到包管理器将更加及时高效。

GCC向上游重新发送了Profiles支持,目前正在讨论实现的规范细节中,并开始支持Zilsd/Zclsd扩展。v8部分也有较多性能优化、安全性优化相关的更新。

此外,PLCT实验室分别与矽速科技、群芯闪耀达成合作,将LicheePi 4A和Milk-V Meles的软件生态并入RuyiSDK项目,共同推动RISC-V开发者生态的建设。相关新闻如下:

  1. 矽速科技与PLCT实验室联合宣布:LicheePi 4A 软件生态并入 RuyiSDK 项目,共建 RISC-V 开发者生态
  2. 群芯闪耀与PLCT实验室联合宣布:Milk-V Meles 软件生态并入 RuyiSDK 项目,共建 RISC-V 开发者生态

RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.25 版本将在 12 月 31 日发布。

包管理器

RuyiSDK 0.24 对应的包管理器版本也为 0.24.0,已于昨日发布。您可移步 GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • 更新了依赖版本。

本次 RuyiSDK 软件源的更新主要包括了以下内容:

  • 更新了以下软件到最新版本:
    • board-image/armbian-pine64-star64
    • board-image/buildroot-sdk-milkv-duo
    • board-image/buildroot-sdk-milkv-duos-sd
    • board-image/buildroot-sdk-sipeed-licheervnano
    • board-image/debian-fishwaldo-sg200x-sipeed-licheervnano
    • board-image/revyos-sipeed-lpi4a
    • board-image/uboot-revyos-sipeed-lpi4a-16g
    • board-image/uboot-revyos-sipeed-lpi4a-8g
    • extra/wps-office

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与 RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

RuyiSDK IDE V0.0.1版本发布,本版本面向RuyiSDK测试人员,提供Linux系统 x86_64、riscv64、aarch64三架构的安装程序。本版本在Eclipse开源IDE基础上进行定制开发,目前除了继承了项目管理、编辑器、构建、调试等常用功能,能够支持创建、构建、调试 RISC-V 项目等。

RuyiSDK IDE V0.0.1 下载地址为:https://mirror.iscas.ac.cn/ruyisdk/ide/0.0.1/ 请按照设备环境选择合适的安装包。

GCC

向GCC上游重新发送了Profiles支持,目前正在讨论实现的规范细节中,开始支持Zilsd/Zclsd扩展

V8

  1. 移植Growable stack到RISC-V的Wasm liftoff baseline compiler和turbofan compiler
  2. 修复ICache flush在多核芯片上的bug,将flush范围从local harts改为包括remo特harts
  3. 移植和实现MutableInt32 to ScriptContext slots优化
  4. 在正则表达式编译器中添加压栈后栈内存边界检测,加强安全性
  5. 继续实现Leap tiering功能

操作系统支持矩阵

  1. 继续推进 packages-index 元数据同步 CI #107
  2. 分离 LicheeRV 和 Nezha 测试报告 #115
  3. 添加 BPI-F3 Alpine 测试报告 #116
  4. 添加 BeagleV-Ahead RevyOS 和 openSUSE 测试报告 #117
  5. 添加/更新 LicheeRV Nano Alpine/Buildroot/Fedora 测试报告 #119

SDK

基于之前的验证和测试整理 Milkv Duo 重构需求:

Milkv Duo SDK todo(缺陷)持续更新:

第 034 期·2024 年 12 月 03 日

· 8 min read
xijing21
RuyiSDK 项目经理

卷首语

RuyiSDK包管理器 V0.23 版本已于今日发布。包管理器遥测功能正式上线了,我们秉持最小化收集信息的原则,当前采用匿名化的方式收集一些与个人身份无关的设备信息和使用数据用于统计和优化产品服务,收集的数据与方式等详细信息详见隐私政策)。请您放心,目前的数据是匿名化的,并不会有任何您的个人身份信息,因此也诚挚的希望您可以参与到数据上传反馈已助力我们改进服务,如果您拒绝上传,那么可以在使用前修改数据采集模式。如果您对当前的数据采集和隐私政策有任何疑问,可以通过 contact@ruyisdk.cn 联系我们。

此外,包管理器还针对兼容性支持、ruyi自动化打包,自动化测试等方面的支持上做了进一步的完善和优化,操作系统支持矩阵近期针对 milkv duo/duo256M/duoS也有不少更新,RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.24 版本将在 12 月 17 日发布。

包管理器

RuyiSDK 0.23 对应的包管理器版本也为 0.23.0,已于昨日发布。您可移步 GitHub ReleasesISCAS 镜像源下载体验。

本次 RuyiSDK 包管理器的更新主要包含了以下内容:

  • 出于项目验收要求,调整了默认遥测模式为 on。后续会随着 RuyiSDK 软件源的更新,周期性上传匿名化的使用统计数据。遥测服务端位于中国大陆境内,由 RuyiSDK 团队管理。
  • 修复了与外部依赖 semver 2.x 版本的兼容性。
  • 允许了在 CI 环境以 root 身份运行 ruyi
  • 每次发版会同时附带可重现(reproducible)的源码包了,有助于发行版打包工作等。

注意:由于活跃用户数等指标是项目 KPI,RuyiSDK 0.23 版本增加了遥测数据的上传功能,并在所有环境默认开启,不仅限于 CI。您可自行决定是否主动上传这部分匿名统计信息,以便 RuyiSDK 团队改进产品;您也可以选择删除先前的遥测数据,以及是否禁用遥测。您可用 ruyi self clean --telemetry 删除所有的遥测信息,包括设备信息。详情请见 RuyiSDK 0.19 的发布说明:《RuyiSDK 双周进展汇报 第 030 期·2024年09月30日》

在遥测模式为 on 时,每次 ruyi 被调用时都会告知您您的遥测数据将在何时上传。您可以做以下操作之一以屏蔽该提示。

  • 设置遥测模式为 localoff
  • 对数据上传行为给予同意。

具体的 ruyi 配置文件写法示例如下。该配置文件一般位于 ~/.config/ruyi/config.toml 位置,如不存在,创建即可。

# 在 [telemetry] 一节体现以下内容之一。如不存在此节,创建即可:
[telemetry]

# 您可以变更遥测模式为 local 或 off:
mode = "local"

# 或告知 ruyi 您在当前日期时间给予了同意:
upload_consent = 2024-12-32T25:61:00+08:00
# 此日期格式并不合法,这是有意为之,请您自行填入您操作的当前时刻。例如执行以下命令:
#
# echo "upload_consent = $(date -Iseconds)"
#
# 输出内容即可用于上述用途。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与 RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。

IDE

"探路 Eclipse RISC-V 插件开发”系列学习日志更新了Embeded CDT 插件的本地构建等实践说明。详见 eclipse-myplugins视频,欢迎更多的人加入到 Eclipse RISC-V 插件的学习和开发。

GCC

Multiversion function的支持已合入gcc上游,继续完善P扩展的支持,重新提交了RISC-V Profiles的支持patch,正在沟通RV64ILP32规范格式问题。

V8

  1. 为Wasm构建一个写保护的代码指针表,后续会基于这个特性来继续实现向前跳转控制流完整性。
  2. 为Builtin的AOT过程打开RISC-V扩展指令集选项,使builtin也可以使用各类扩展指令集,实现代码尺寸优化。优化效果:打开B扩展后,内置函数MathClz32的指令条数,优化之前 468,优化之后 308,静态代码减少了34%。

操作系统支持矩阵

本周进行了如下测试报告的更新:

PRContentStatus
https://github.com/ruyisdk/support-matrix/pull/105Metadata: add some version varMerged
https://github.com/ruyisdk/support-matrix/pull/106duo/duo256m: Add YoctoMerged
https://github.com/ruyisdk/support-matrix/pull/108DuoS/RT-Thread,RT-Smart: Add resultsMerged
https://github.com/ruyisdk/support-matrix/pull/109duo256m: Update Alpine & RT-Thread SmartMerged
https://github.com/ruyisdk/support-matrix/pull/110Updated OS support for DuoS and MarsMerged

应用软件生态观测

丁丑小队本周对 OceanBase、openGauss 和 TiDB 在 TH1520 和 SG2042 平台的运行情况进行了观测。

测试报告现已公开在:https://github.com/QA-Team-lo/dbtest

本次测试仍存在一些问题,如有建议也欢迎各位直接在 issue 区提出。

SDK

基于之前的验证和测试整理 Milkv Duo 重构需求: