Zweiwöchentlicher RuyiSDK-Bericht
Erhalten Sie alle zwei Wochen die neuesten Entwicklungsupdates
新年开工啦!🎉 RuyiSDK 团队已经继续启航~🚀
在过年期间,大家短暂地停下脚步,休息整顿,蓄势待发。2025 年,新的一年,新的开始,我们将继续撸起袖子加油干,全力推进 RuyiSDK 的建设,为大家提供更实用、更高效的产品体验! 期待与大家一起创造更多精彩! ✨
我们也非常欢迎大家参与贡献,一起让 RuyiSDK 变得更好!无论是提交代码、反馈问题,还是分享想法,您的参与都是我们前进的动力!💪
RuyiSDK近期的发展动态已详细整理于下方,我们诚挚地邀请各位开发者试用,并期待大家宝贵的反馈与建议。下一个开发版本预计将在 2025 年 2 月 25 日与大家见面,敬请期待!
RuyiSDK 0.27 对应的包管理器版本也为 0.27.0,已于昨日发布。您可移步
GitHub Releases 或 ISCAS 镜像源下载体验。
本次 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 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
RuyiSDK IDE 为了提升易用性,目前以新插件的方式进行了功能扩展。 RuyiSDK IDE Plugins 插件 v0.0.1 发布,新增 RuyiSDK 菜单及官网访问命令。
目前插件整合到RuyiSDK IDE 的工程工作还在完善,当前需要手动将插件拷贝到 RuyiSDK IDE dropins目录使用,未来我们会完善相关工程,提供更加便捷的安装和使用 方式。当前您可以参考下方的使用说明来安装和使用。
插件使用说明:
- 下载 org.ruyisdk.ide_0.0.1.jar。
- 访问 https://mirror.iscas.ac.cn/ruyisdk/ide/0.0.3/ 下载 ruyisdk-0.0.3 并解压。
- 将 org.ruyisdk.ide_0.0.1.jar 放入 ruyisdk ide 的 dropins 目录。
- 执行 ./ruyisdk 重启 IDE。
- 通过菜单栏 RuyiSDK > Official Website 访问官网。
更新了P扩展草案的工具链支持至0.14版本,更新了Profiles的规范格式说明。
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 Releases 或 ISCAS 镜像源下载体验。
本次 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 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
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 中的使用进行说明:
- 增加了 Run as Remote Application 方式的运行;
- 增加了 Debug 示例和基于 Terminal 和 Debug as Remote Application 方式调试说明;
- 进一步明确和优化了编译参数。
- 整理 milkv duo sdk 改进需求:milkv duo镜像需要增加 sftp-server、gdbserver 程序,方便在开发时进行文件传输和调试支持。
更新了Profiles实现规则,在GLIBC中添加了IFUNC符号用于调用,更新了新32位的GDB支持,开始启动GDB SIM的调试工作。
- Refactor Relocation支持部分的代码。
- 修复 strict 模式下的构建错误问题。
今天是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 Releases 或 ISCAS 镜像源下载体验。
本次 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 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
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 的文档链接。
提交了Zilsd/Zclsd扩展支持的patch,补充了相应的测试用例。开始更新Profiles命名规范,同步LLVM已有的实现方式。
- 增加对 Embedded Object 的 reloc 支持,减少加载此类对象的指令数量。
- 审阅并合入 Syntacore 对浮点数四舍五入的指令生成的优化。
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开发者生态的建设。相关新闻如下:
- 矽速科技与PLCT实验室联合宣布:LicheePi 4A 软件生态并入 RuyiSDK 项目,共建 RISC-V 开发者生态
- 群芯闪耀与PLCT实验室联合宣布:Milk-V Meles 软件生态并入 RuyiSDK 项目,共建 RISC-V 开发者生态
RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.25 版本将在 12 月 31 日发布。
RuyiSDK 0.24 对应的包管理器版本也为 0.24.0,已于昨日发布。您可移步
GitHub Releases 或 ISCAS 镜像源下载体验。
本次 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 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
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上游重新发送了Profiles支持,目前正在讨论实现的规范细节中,开始支持Zilsd/Zclsd扩展
- 移植Growable stack到RISC-V的Wasm liftoff baseline compiler和turbofan compiler
- 修复ICache flush在多核芯片上的bug,将flush范围从local harts改为包括remo特harts
- 移植和实现MutableInt32 to ScriptContext slots优化
- 在正则表达式编译器中添加压栈后栈内存边界检测,加强安全性
- 继续实现Leap tiering功能
- 继续推进 packages-index 元数据同步 CI #107
- 分离 LicheeRV 和 Nezha 测试报告 #115
- 添加 BPI-F3 Alpine 测试报告 #116
- 添加 BeagleV-Ahead RevyOS 和 openSUSE 测试报告 #117
- 添加/更新 LicheeRV Nano Alpine/Buildroot/Fedora 测试报告 #119
基于之前的验证和测试整理 Milkv Duo 重构需求:
Milkv Duo SDK todo(缺陷)持续更新:
RuyiSDK包管理器 V0.23 版本已于今日发布。包管理器遥测功能正式上线了,我们秉持最小化收集信息的原则,当前采用匿名化的方式收集一些与个人身份无关的设备信息和使用 数据用于统计和优化产品服务,收集的数据与方式等详细信息详见隐私政策)。请您放心,目前的数据是匿名化的,并不会有任何您的个人身份信息,因此也诚挚的希望您可以参与到数据上传反馈已助力我们改进服务,如果您拒绝上传,那么可以在使用前修改数据采集模式。如果您对当前的数据采集和隐私政策有任何疑问,可以通过 contact@ruyisdk.cn 联系我们。
此外,包管理器还针对兼容性支持、ruyi自动化打包,自动化测试等方面的支持上做了进一步的完善和优化,操作系统支持矩阵近期针对 milkv duo/duo256M/duoS也有不少更新,RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.24 版本将在 12 月 17 日发布。
RuyiSDK 0.23 对应的包管理器版本也为 0.23.0,已于昨日发布。您可移步
GitHub Releases 或 ISCAS 镜像源下载体验。
本次 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
被调用时都会告知您您的遥测数据将在何时上传。您可以做以下操作之一以屏蔽该提示。
- 设置遥测模式为
local
或 off
;
- 对数据上传行为给予同意。
具体的 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 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
"探路 Eclipse RISC-V 插件开发”系列学习日志更新了Embeded CDT 插件的本地构建等实践说明。详见 eclipse-myplugins 和视频,欢迎更多的人加入到 Eclipse RISC-V 插件的学习和开发。
Multiversion function的支持已合入gcc上游,继续完善P扩展的支持,重新提交了RISC-V Profiles的支持patch,正在沟通RV64ILP32规范格式问题。
- 为Wasm构建一个写保护的代码指针表,后续会基于这个特性来继续实现向前跳转控制流完整性。
- 为Builtin的AOT过程打开RISC-V扩展指令集选项,使builtin也可以使用各类扩展指令集,实现代 码尺寸优化。优化效果:打开B扩展后,内置函数MathClz32的指令条数,优化之前 468,优化之后 308,静态代码减少了34%。
本周进行了如下测试报告的更新: