Newsletter RuyiSDK
Get the latest development progress every two weeks
大家好,RuyiSDK 项目组为了更好地帮助开发者掌握 RuyiSDK 的使用,让开发团队能更加深入了解大家的需求从而改进产品,我们诚挚邀请您参加 RuyiSDK Office Hours 线上会议(类似于RISC-V技术答疑时间)。我们期待与您通过线上会议的方式相聚,共同探讨如何提升 RuyiSDK 的用户体验。会议内容将主要围绕 RuyiSDK 的使用、问题与缺陷、改进建议等话题进行交流,同时也欢迎大家讨论与 RISC-V 相关的任何问题。
会议安排如下:
我们期待在会议中与您交流,共同推动 RuyiSDK 的发展!
参考链接:
下一个开发版本预计将在 2025 年 4 月 8 日发布。感谢您一直以来的支持与关注,如有任何问题,欢迎联系我们,您的反馈是我们前进的动力!
RuyiSDK 0.30 对应的包管理器版本也为 0.30.0,已于今日发布。您可移步
GitHub Releases 或 ISCAS 镜像源下载体验。
本次 RuyiSDK 包管理器的更新主要包含了以下内容:
- 修复了
ruyi list --category-contains
不工作的问题。
- 修复了全新安装
ruyi
之后直接进行 ruyi install
会崩溃的问题。
- 软件源格式更新:
- 基于目前的设备安装器配置数据,新增实验性的结构化设备型号描述数据库,初期支持为每种设备型号描述其 CPU 与微架构能力。
- 工程化迭代:
- 将 AArch64 架构的构建任务迁移至 GitHub Actions 公开免费 提供的实例上,以降低 RuyiSDK 团队的维护成本。
- 修复了 CI 开源许可证检查任务。
欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与
RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
RuyiSDK IDE 近期正在实现基于包管理器(ruyi list)的软件包资源管理,功能开发中。
此外,RuyiSDK IDE 正在招聘插件开发实习生,欢迎有兴趣的小伙伴加入开发团队,详情参考 J159 RuyiSDK IDE 开发实习生 ,期待您的加入。
提交了Ssnpm, Smnpm与Smmpm 的工具链支持,在社区中对玄铁C系列RISC-V芯片添加了mcpu选项支持
- 在 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 相关的内建指令。
- 继续增加 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 :
- 修复非对齐 load/store 的代码生成中临时寄存器不够用的问题
- 在指令选择阶段内联 Adapter's DeoptimizeView
欢迎阅读《RuyiSDK 双周进展汇报》第 40 期。在过去的两周里,我们团队持续努力,推进各项功能的开发与优化,具体进展将在下文中详细呈现。
我们期待在 2025 年 3 月 25 日发布下一个开发版本,届时将带来更多创新与改进。感谢您一直以来的支持与关注,您的反馈是我们前进的动力!
RuyiSDK 0.29 对应的包管理器版本也为 0.29.0,已于今日发布。您可移步
GitHub Releases 或 ISCAS 镜像源下载体验。
本次 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 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
- 更新了p扩展寄存器对指令的工具链支持,正在实现RVA23S的有关特权指令扩展中。
- 在 19.1.6 版本中修复了 Greedy Register Allocator 在某些 XTHeadVector intrinsic 上导致的编译器内部错误的问题
- 在 17.1.6 版本中新增部分 XTHeadVector intrinsic 的操作数范围检查,和 RVV 1.0 行为对齐
- 在陆续添加TurborShaft IR支持后,删除TurboFan SON IR相关的旧代码
- 审核类型转换优化、32bit比较优化patch(来自syntacore)
- 实现Wasm JSPI功能中沙盒内的chain of stacks功能
- 删除RISCV指令集不支持的ByteSwap 代码生成支持
欢迎阅读《RuyiSDK 双周进展汇报》第 39 期。在过去的两周里,我们团队持续努力 ,推进各项功能的开发与优化,具体进展将在下文中详细呈现。
我们期待在2025年3月11日发布下一个开发版本,届时将带来更多创新与改进。感谢您一直以来的支持与关注,您的反馈是我们前进的动力!
RuyiSDK 0.28 对应的包管理器版本也为 0.28.0,已于今日发布。您可移步
GitHub Releases 或 ISCAS 镜像源下载体验。
本次 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-meles
的 boot
分区的文件类型标记。
欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与
RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
实现了 Xqc 系列自定义厂商扩展支持,等待上游 review 中,继续维护 p 扩展实现,修复了工具链构建中的一些问题。
- 在 17.1.6 版本中修复了缺少
th.vloxei
和 th.vsoxei
指令的问题
- 在 17.1.6 版本中新增对部分内建函数操作数合法性检查的过程
- 在 17.1.6 版本中修复部分包装函数名称不符合 RVV 1.0 规范的问题,选择这些包装函数将同时提供 1.0 和 0.7.1 规范下的函数名,以便更方便地进行迁移
- 在 19.1.6 版本中修复了 MC 汇编器生成部分指令会出现编译器内部错误的问题
- Review 并合入 Leaptiering 支持
- 添加模拟器中对 fp16 类型指令的模拟例程
- 继续增加 Maglev 的特性支持
新年开工啦!🎉 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的规范格式说明。