Newsletter RuyiSDK
Get the latest development progress every two weeks
欢迎阅读《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的规范格式说明 。
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%。
本周进行了如下测试报告的更新:
丁丑小队本周对 OceanBase、openGauss 和 TiDB 在 TH1520 和 SG2042 平台的运行情况进行了观测。
测试报告现已公开在:https://github.com/QA-Team-lo/dbtest
本次测试仍存在一些问题,如有建议也欢迎各位直接在 issue 区提出。
基于之前的验证和测试整理 Milkv Duo 重构需求:
RuyiSDK包管理器 V0.22 版本已于今日发布。包管理器近期主要针对 Linux发行版的兼容性支持进行了核心依赖的调研和调整,以满足 Debian、RevyOS、RuyiOS(开展中)、Ubuntu、Fedora、deepin、Arch Linux等发行版的兼容性需求。并新增了 RuyiSDK 的平台支持文档 告知用户RuyiSDK的兼容性支持计划。
此外支持矩阵和 SDK验证都重点针对 Milkv Duo 进行测试和更新;Eclipse插件目前通过公开学习日志等方式希望更多人能够了解并加入到Eclipse插件开发,欢迎有兴趣的开发者们加入。
RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.23 版本将在 12 月 3 日发布。
RuyiSDK 0.22 对应的包管理器版本也为 0.22.0,已于昨日发布。您可移步
GitHub Releases 或 ISCAS 镜像源下载体验。
本次 RuyiSDK 包管理器的更新主要包含了以下内容:
- 新增了 RuyiSDK 的平台支持文档,基于此完善了 RuyiSDK 包管理器的平台兼容性:
- 将 Python 版本的最低要求降至 3.10,以与 Ubuntu 22.04 LTS 系统默认 Python 版本保持兼容。
- 降低了各种 Python 依赖关系的版本要求,以支持与 Ubuntu 22.04 LTS 系统提供软件包配合工作。
- 按照 Python 打包标准,新增声明
ruyi
入口点,以便发行版打包机制自动识别、处理。
**注意:**我们将于 RuyiSDK 0.23 版本增加 RuyiSDK 遥测数据的上传功能,并可能在 CI
环境将其默认开启。届时,您可自行决定是否主动上传这部分匿名统计信息,以便
RuyiSDK 团队改进产品;您也可以选择删除先前的遥测数据,以及是否禁用遥测。您可用
ruyi self clean --telemetry
删除所有的遥测信息,包括设备信息。详情请见 RuyiSDK 0.19
的发布说明:《RuyiSDK 双周进展汇报 第 030 期·2024年09月30日》。
欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与
RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
"探路 Eclipse RISC-V 插件开发”系列学习日志已将前期学习总结梳理后通过 eclipse-myplugins 公开分享,配套的视频后续也可访问 B站 ,欢迎更多的人加入到 Eclipse RISC-V 插件的学习和开发。
添加了TARGET_CLONE特性的支持,目前已合入gcc上游,继续添加P扩展的草案支持,开始进行svvptc扩展的工具链支持工作
- 适配上游 硬编码实现JumpTableAssembler的 jit 功能。
- 在 v8 模拟器中实现 js 堆栈切换。
- 适配turboshaf中word32cmpare的指令选择并修复 turboshaf相关的错误。
丁丑小队本周完成了对 LPi4A & Pioneer Box Firefox 的可用性观测,以及 Milk-V Duo 系列的 RT-Thread / Smart 测试,计划后续一同加入支持矩阵中。
测试报告现已公开。
完成 Milkv Duo 官方SDK 的验证及缺陷总结,为后续SDK优化做准备。
RuyiSDK包管理器 V0.21 版本已于今日发布。包管理器近期主要修复了一些测试出的缺陷,并增加兼容性支持和一些小功能的实现,进一步完善了包管理器工具;
Milkv Duo SDK建设计划已经完成第一阶段的验证和缺陷整理,后续可以有针对性的进行SDK的优化了。
《从零开始开发VSCode插件与Ruyi IDE插件》 第3课已经上线B站。Eclipse 插件开发当前成功的搭建并解决了依赖项的问题,eclipse-embed-cdt/eclipse-plugins下的所有插件已经可以在Eclipse IDE中以插件工程方式成功运行和调试,后续可以基于现有的嵌入式插件学习并开展相关开发工作了。
操作系统支持矩阵本期有大量更新,包括了测试报告元数据、首页表格 CI、issue 模板、测试报告更新等。
RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.22 版本将在 11 月 19 日发布。
RuyiSDK 0.21 对应的包管理器版本也为 0.21.0 ,已于昨日发布。您可移步
GitHub Releases 或 ISCAS 镜像源下载体验。
本次 RuyiSDK 包管理器的更新主要包含了以下内容:
- 将 RuyiSDK 软件源打包辅助命令
ruyi admin manifest
重命名为 ruyi admin checksum
了。如果您在为
RuyiSDK 打包,您可能需要更新您的脚本。
ruyi self clean
支持删除新闻(ruyi news
)的阅读状态了:ruyi self clean --news-read-status
。
ruyi self clean
也支持一次性删除 ruyi
产生的所有可变状态文件了:ruyi self clean --all
。
- 修复了
ruyi
测试用例与 Python 3.11 的兼容性。我们现在以 CI 形式确保 ruyi
能够在 Python 3.11、3.12、3.13 这三个版本通过测试,这将有助于保障后续 ruyi
在多种 Linux 发行版上的兼容性。
- 新增声明了遗漏的
typing_extensions
依赖,以修复第三方打包。
- 重构了
ruyi
子命令的声明与实现方式,后续扩展 ruyi
命令行功能更加方便了。
注意:我们可能在今后的一到两个版本期间,实装 RuyiSDK 遥测机制。届时,您可自行决定是否主动上传这部分匿名统计信息,以便
RuyiSDK 团队改进产品;您也可以选择删除先前的遥测数据,以及是否禁用遥测。您可用
ruyi self clean --telemetry
删除所有的遥测信息,包括设备信息。详情请见 RuyiSDK 0.19
的发布说明:《RuyiSDK 双周进展汇报 第 030 期·2024年09月30日》。
欢迎试用或来上游围观;您的需求是 我们迭代开发的目标和动力。您也可以亲自参与
RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
从零开始开发VSCode插件与Ruyi IDE插件 第3课已经上线B站。视频可以在此观看。欢迎点赞关注一键三连!
Eclipse 插件开发当前成功的搭建并解决了依赖项的问题,[eclipse-embed-cdt/eclipse-plugins](https://github.com/eclipse-embed-cdt/eclipse-plugins下的所有插件已经可以在Eclipse IDE中以插件工程方式成功运行和调试,后续可以开展相关开发工作了。
继续推进P扩展在binutils上的草案支持,尝试更新新32位在glibc上的支持工作
本期暂无ruyisdk相关更新。
- 修复和完善TurboShaft IR、Maglev JIT 的RISC-V架构相关部分。
- 继续移植LeapTiering特性。
- 实现wasm JSPI特性。
RuyiSDK官网博客板块中新增文章:Eclipse 上游初步支持 RISC-V,每日构建镜像已经可以下载试用 。
本期支持矩阵有大量更新,包括:测试报告元数据、首页表格 CI、issue 模板、测试报告更新等等。
- CI Table gen PR #49
- VisionFive2/Ubuntu Ubuntu 24.10 & Ubuntu 24.04.1 LTS PR #50
- VisionFive2/Openkylin Openkylin 2.0,VisionFive2/Alpine PR #51
- PIC64GX/Ubuntu Ubuntu 24.10 PR #52
- CI Push Error fix PR #53
- BPI-F3 Bianbu v2.0:PR #54
- NeZha-D1s/Ubuntu: update test report for Ubuntu 24.10 and Ubuntu 24.04.1 LTS PR #55
- Metadata: Refactor and add sys variant PR #56
- VisionFive/Alpine: add test report, VisionFive2/Alpine: fix typo PR #57
- Icicle/Ubuntu: update test report for Ubuntu 24.10 and Ubuntu 24.04.1 LTS:PR #58
- Mars/Ubuntu: update test report for Ubuntu 24.10 and Ubuntu 24.04.1 LTS:PR #59
- Unmatched/Ubuntu: update test report for Ubuntu 24.10 and Ubuntu 24.04.1 LTS:PR #60
- D1_LicheeRV/Ubuntu: update test report for Ubuntu 24.10 and Ubuntu 24.04.1 LTS:PR #61
- LPi4a: Update RevyOS to 20240720:PR #62
- LPi4a/openKylin: Update to 2.0:PR #63
- CI: Modify table to pages:PR #64
- README: Remove all svgs and use pages from ci:PR #65
- VisionFive2/Archlinux: update archlinux to cwt23:PR #66
- VisionFive2/DietPi: add test report:PR #67
- VisionFive2/openSUSE: update openSUSE test report:PR #68
- PIC64GX/Ubuntu: fix typo:PR #69
- duo: Add uniproton basic support:PR #70
- README: Add desc for tools:PR #71
- CI: Tables gen CI redesign:PR #72
- Template: Add new templates:PR #74
- CI: Add debug mode and pr target:PR #76
- Metadata: fix and tweaks:PR #89
- BPI-F3: Added Fedora test report:PR #90
- duo256m/openeuler: Add openEuler support for duo256:PR #91
- BPI-F3: Added OpenWrt test report:PR #93
- Metadata: sync metadata and test report:PR #94
- LPi4a/deepin: Update to 20240815 PR #95
- Metadata: Add multi-language support PR #96
- Duo/BuildRoot: Update to v1.1.3 PR #98
完成 Milkv Duo 官方SDK 的验证及缺陷总结,为后续SDK优化做准备。
RuyiSDK V0.20 版本已于今日发布。为了简化打包和供应链安全的考虑,包管理器工具移除了插件机制的 Starlark 沙箱,同时完善了遥测功能,增加了禁用遥测选项、清除本地已收集的信息等功能;并修复了一些已知bug。
LLVM新增了rv64ilp32 ABI的支持,目前可以成功编译 rv64ilp32 Linux kernel(bf63582b08)并进入用户态了,这项成果已在玄铁团队的宣传材料中得到展示。LLVM 对 XTHeadVector 拓展的支持正在逐渐 rebase 到 LLVM 19.1.1 上,目前已经完成了大部分的 rebase 工作,进入测试阶段。
操作系统支持矩阵部分新增和更新了数十项信息,并且建设CI生成SVG格式的统计表格,使得展示和浏览效果更佳。并为所有测试报告都添加了元数据,方便后续与 packages-index 同步更新。
《从零开始开发VSCode插件与Ruyi IDE插件》 第2课已经上线B站。
RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.21 版本将在 11 月 5 日发布。
RuyiSDK 0.20 对应的包管理器版本也为 0.20.0,已于昨日发布。您可移步
GitHub Releases 或 ISCAS 镜像源下载体验。
本次 RuyiSDK 包管理器的更新主要包含了以下内容:
ruyi self uninstall --purge
不会遗留遥测数据了。
- 修复了
ruyi admin
子命令无法被调用的问题。
- 修复了 Ruyi 虚拟环境中,向无 target tuple 前缀的命令(如一系列 LLVM 工具)的转发。
- 应 RuyiSDK 项目需求方要求,移除了插件机制的 Starlark 沙箱。这有助于简化打包与降低开发门槛:按照 RuyiSDK 当前的威胁模型(threat model),沙箱机制不会带来额外的安全性。
注意:由于 Starlark 与 Python 存在细微的语义差异,在升级到 ruyi 0.20.0 之后,您必须将软件源
ruyi update
到最新,才能继续使用 ruyi
的部分功能(如 ruyi venv
等)。除此之外,我们预计插件机制的技术细节变更不会对实际使用造成影响。
注意:我们可能在今后的一到两个版本期间,实装 RuyiSDK 遥测机制。届时,您可自行决定是否主动上传这部分匿名统计信息,以便
RuyiSDK 团队改进产品;您也可以选择删除先前的遥测数据,以及是否禁用遥测。您可用
ruyi self clean --telemetry
删除所有的遥测信息,包括设备信息。详情请见 RuyiSDK 0.19
的发布说明:《RuyiSDK 双周进展汇报 第 030 期·2024年09月30日》。
欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。您也可以亲自参与
RuyiSDK 软件的打包与分发工作:目前您可以直接在 GitHub 上查看、修改我们的部分打包脚本与软件源仓库。今后,按照本年度的开发计划,我们也将支持有权的第三方贡献者通过程序化的方式上传软件包、系统镜像等分发文件,以便利打包工作。
从零开始开发VSCode插件与Ruyi IDE插件 第2课已经上线B站。视频可以在此观看。欢迎点赞关注一键三连!
支持了ssqosid扩展,正在添加P扩展的新草案支持中(p-dev分支),提交了target_clone功能的patch支持
- 支持 rv64ilp32 ABI,目前可以成功编译 rv64ilp32 Linux kernel(bf63582b08)并进入用户态了(需要使用 rv64ilp32 分支下的代码),还有部分小问题正在修复中
- XTHeadVector 拓展正在逐渐 rebase 到 LLVM 19.1.1 上,目前已经完成了大部分的 rebase 工作,正在进行测试
- 修复若干Maglev相关的CI bug。
- 继续完善leaptiering特性。
本期暂无更新。
新增:
- VisionFive 2 / NetBSD
- Duo 256M / Alpine, Arch Linux
- Mango MQ Pro / NetBSD
- Duo S / Arch Linux
- Huashan Pi / buildroot
- Milk-V Jupiter / Bianbu 1.0
- CI 生成首页表格 SVG
更新:
- VisionFive 2 / Ubuntu: 24.04 LTS -> 24.04.1 LTS, 24.10
- BPI-F3: typo fix
- VisionFive 2 / openKylin: 2.0
- PIC64GX / Ubuntu: 24.10
此外,我们为所有测试报告都添加了元数据,方便后续与 packages-index 同步更新。