メインコンテンツまでスキップ

RuyiSDK 隔週レポート

2 週間ごとに最新の開発アップデートを入手

第 028 期·2024 年 09 月 03 日

· 約5分
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理

卷首语

RuyiSDK V0.17 版本已于今日发布。RuyiSDK 包管理器修复了一些已知的缺陷,RuyiSDK 软件源更新了 Box64 和 WPS Office;RuyiSDK 官网也新增 algolia search,现在可以搜索网站上的任何内容了。

此外,RuyiSDK 在第四届 RISC-V 中国峰会(RISC-V Summit China 2024)上,进行了包括 RuyiSDK 介绍、Ruyi 包管理器的自动化测试、RISC-V 操作系统支持矩阵 等报告;RuyiSDK 还亮相 elexcon 2024深圳国际电子展,展示了近期的工作成果。

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

包管理器

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

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

  • 修复了 issue #181: 现在在宽度较短的终端窗口中使用 ruyi news read 等功能时,Markdown 代码块中的长行不会缺字了,行首、行尾也不再存在影响复制粘贴的空格。代价是覆盖整行宽度的漂亮的背景色无法实现了。

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

  • 更新了 Box64 到上游最新开发版本。
  • 更新了 WPS Office 到上游最新版本。请注意:上游移除了 AArch64 架构的原生支持。这部分用户也将需要依赖二进制翻译方案来运行 WPS Office 了。
  • 明确了软件源内容的开源许可证:Apache 2.0 许可证,与 Ruyi 包管理器本体一致。

此外,我们已经着手设计、实现 ruyi 包管理器分发渠道与 RuyiSDK 软件源的服务端组件。未来,这将使得 RuyiSDK 能够更加频繁地、自动化地更新软件源中的包;也能在取得用户明确授权的前提下,使 RuyiSDK 用户与测试人员能够向 RuyiSDK 团队反馈一定的使用信息,有助于未来的设计与维护工作。

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

IDE

本期暂无进展。

GCC

  • 支持了Zimop扩展
  • 修复了部分回归测试中发现的错误

LLVM

  • 支持了对 tuple type 的 vget/vset/vcreate 操作。
  • 修复在指定 XTHeadVector 拓展时,编译器未定义 __riscv_vector 的问题,现在编译器行为与 GCC 一致。

V8

  1. 提交patch,使V8 for Android RISCV64在 NDK r27 版本获得标准构建支持(无需在手工配置NDK toolchain)。
  2. 继续实现TurboShaft SIMD IR 到RVV的指令选择。
  3. 移植central stack switches特性。

官网

截止今日9月3日,RuyiSDK 网站访问人数986人,新增152人,访问页面7622次,新增2755次。RuyiSDK 微信交流群132人,新增49人(进群请加微信小助手 ruyisdk_helper)。

官网新增 algolia search,现在可以搜索网站上的任何内容啦!

RuyiSDK 亮相 elexcon 2024深圳国际电子展

操作系统支持矩阵

  • 修正了部分 typo 和 i18n / 英文翻译。
  • lintestor 应用软件可用性测试项目继续更新中
    • 重写了测试调度相关的代码
    • 添加了全局前置环境配置
    • 改进了测试结果报告
    • 新增了更多软件包的测试用例

第 027 期·2024 年 08 月 13 日

· 約5分
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理

卷首语

RuyiSDK V0.16 版本已于今日发布。包管理器完成了设备安装器(ruyi device provision)的插件化改造,后续升级程序将更加方便。此外,RuyiSDK 完善了Canaan Kendryte K230D 开发板的支持,对 K230D SDK 源码进行了更新和完善,同时建立了SDK自动构建CI,并联合玄铁团队和嘉楠科技进行了标题为“嘉楠勘智 K230D: 首款基于新 32 位 RuyiSDK 的 AIoT 量产芯片”的宣发,展示了基于 K230D RuyiSDK 源码的性能对比结果和其它合作成果。

操作系统支持矩阵持续更新中,同时开始启动操作系统中语言运行时环境、语言虚拟机等运行支持软件在不同Linux发行版中的支持情况(应用软件支持矩阵),如系统包管理器是否提供安装,以及软件版本信息。目前已经完成了 Debian 的部分测试用例。

RuyiSDK更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议 ,下一个开发版本 RuyiSDK V0.17 版本将在 9 月 3 日发布。此外RuyiSDK报名了2024年8月27日-29日在深圳会展中心举办的深圳国际电子展,欢迎关注。

包管理器

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

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

  • 完成了设备安装器(ruyi device provision)的插件化改造。今后对不常见刷写步骤的支持将更加方便了:不一定需要更新 ruyi 本体了。

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

IDE

本期暂无进展。

GCC

RUYISDK-GNU-Toolchain发布了基于GCC14.2与Binutils2.43的linux工具链,修复了回归测试中发现的一些问题。

LLVM

本期暂无进展。

V8

审核新一代基线编译器maglev的riscv支持框架。

官网

截止今日 8 月 13 日,订阅人数一共 40 人(增加 2 人)。RuyiSDK 网站访问人数 834 人(增加 266 人),访问页面 4907 次(增加 2197 次)。RuyiSDK 微信交流群 83 人(进群请加微信小助手 ruyisdk_helper)。

嘉楠勘智 K230D: 首款基于新 32 位 RuyiSDK 的 AIoT 量产芯片,详情阅读官网博客 https://ruyisdk.org/blog/2024/07/30/k230d/

操作系统支持矩阵

本期更新:

  • Milk-V Duo S / NuttX RTOS: 同步最新主线版本
  • Milk-V Pioneer : 新增 Deepin RISC-V
  • StarFive VisionFive 2: 重测了 Deepin RISC-V CI build,已确认可用
  • 主表格:同步 Deepin 测试结果

自动化测试/应用软件支持矩阵准备:lintestor

  • 目前已完成了 Debian 的部分测试用例,结果见此处

第 026 期·2024 年 07 月 23 日

· 約6分
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理

卷首语

RuyiSDK V0.15 版本已于今日发布。 这个版本,包管理器为多语言支持进行了准备,完成了用户系统区域、语言配置与包管理器语言版本的匹配;同时包管理器支持了不依赖 Docker 的构建方式,为 Linux 发行版打包 ruyi 和将 ruyi 集成到 Linux 发行版提供了更多样的构建方式。RuyiSDK 软件源随着 Box64 上游版本的更新,将Box64 版本更新到 0.3.0 版本,并完善了对 WPS 的支持和文档

此外,RuyiSDK 初步集成了 Canaan Kendryte K230D 开发板,由 RuyiSDK 受权打包的 CanMV Linux SDK 镜像,附带演示程序(提供 LP64 与 RV64ILP32 两种 ABI),不过相关资源依然在更新和完善,RuyiSDK 也将及时更新集成的 SDK 资源。

RuyiSDK 更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议。

因 8 月亚洲多地(日本、中国)RISC-V 活动或峰会的开展,RuyiSDK 的部分小伙伴也有积极参与,因此近期的版本发布时间将有所调整,下一个开发版本 RuyiSDK V0.16 版本将在 8 月 13 日发布(RuyiSDK V0.17 版本将在 9 月 3 日发布)。

这里附上 RISC-V 近期一些会议链接,欢迎关注:

包管理器

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

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

  • 为多语言支持做好准备:在需要输出本地化内容,如软件包的手工下载步骤说明等内容时,当用户系统的区域、语言配置与当前内容的可选区域、语言版本不完全匹配时,现在会尽可能地匹配了。

    例如:如果您将系统配置为新加坡英语,而某条内容仅提供美国英语与中国大陆中文两种版本,那么 ruyi 0.15.0 将为您展示美国英语内容,而非崩溃。

  • 支持了不依赖 Docker 的构建方式,以方便发行版打包者,或不使用官方支持架构、系统组合的用户尝鲜 ruyi

    需要注意的是:因为目前 RuyiSDK 官方软件源的内容分发形式以二进制为主,所以想在非官方支持系统上使用 ruyi 的用户将需要组织起来,自行搭建另一套软件源。RuyiSDK 团队无法保证此种情况下的用户体验。

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

  • 软件源的结构不再与 ruyi 0.7.0 或更低版本兼容。是时候升级到最新版本了。
  • emulator/box64-upstream 已更新到 0.3.0。
  • 用 Box64 运行 WPS Office 的操作文档已更新。
  • Ruyi 设备安装器现已新增支持以下设备型号与系统:
    • Canaan Kendryte K230D:由 RuyiSDK 受权打包的 CanMV Linux SDK 镜像,附带演示程序。提供 LP64 与 RV64ILP32 两种 ABI。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

开发方面暂无进展;基于 Milkv Duo 开发板,调研并跑通了一些 Demo,作为集成的 SDK 的部分内容。

GCC

Gprofng 的 RISC-V 后端支持已被上游合并,将作为 binutils 2.43 的新特性 更新了 P 扩展的 binutils 支持,正在开发 P 扩展的 draft 草案支持中

LLVM

尝试使用该 LLVM 编译器,对 OpenCV 进行交叉编译,发现了如下缺失的 intrinsic,已经修复:

  • 支持 Clang 内建函数 vssra/vssrl
  • 支持 LLVM 内建函数 vssra/vssrl

官网

截止今日 7 月 23 日,订阅人数一共 38 人(增加 1 人)。RuyiSDK 网站访问人数 568 人(增加 62 人),访问页面 2710 次(增加 1286 次)。RuyiSDK 微信交流群 76 人(进群请微信加小助手 ruyisdk_helper)。

Ruyi 包管理器下载量达 7009 次。Youtube 出现 RuyiSDK 俄语视频: Чё? Прошивать Milk-V Duo S за 2 минуты!

操作系统支持矩阵

本期更新:

  • Deepin RISC-V
    • StarFive VisionFive
    • StarFive VisionFive 2
    • Sipeed Lichee Pi 4A
  • openKylin RISC-V 2.0 RC
    • StarFive VisionFive 2
  • Bianbu
    • Milk-V Jupiter (CFT)
  • Debian
    • Milk-V Duo S 更新至最新版 v1.4.0
  • 一些小的 Typo Fix

内容请详见:ruyisdk/support-matrix

第 025 期·2024 年 07 月 09 日

· 約6分
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理

卷首语

RuyiSDK V0.14 版本已于今日发布。 在这个版本中,包管理器正式引入插件架构ruyi 虚拟环境的 profile 相关处理现在完全由插件负责了。此外 PLCT 完成了 Box64 的 RISC-V 架构适配,并将代码合入上游,RuyiSDK 软件源此次增加了 Box64 模拟器并初步实现了在 Box64 中打开 wps-linux-x86_64 writer。

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

包管理器

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

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

  • 正式引入插件架构:ruyi 虚拟环境的 profile 相关处理现在完全由插件负责了。
  • 支持了 Debian 软件包格式 *.deb 的解包操作。
  • 再次完善了对“预发布版本”的判断:先前会对非完全由数字结尾的该类版本号判断错误。 但该潜在问题不会被当前的 RuyiSDK 软件源内容触发。
  • 修复了 riscv64 Python 3.12 环境下 pygit2 的构建失败问题:先前需要在 pygit2 构建开始之后、试图在其虚拟环境中执行 setup.py 前,人工干预,在该环境中安装 setuptools——从 Python 3.12 起该包已经不会被自动安装。

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

  • 增加了从上游源码打包的 Box64 架构模拟器:emulator/box64-upstream
  • 增加了办公套件 extra/wps-office。请注意:由于是商业软件的缘故,首次运行该软件包时需要操作接受一份《最终用户许可协议》。
  • 您可按照 ruyi news 的指引,在您的 RISC-V 桌面设备上用 Box64 运行 WPS Office 进行办公了。

为了支持刷写方式复杂、需要夹杂人工干预、镜像文件需要手工下载等复杂情况下的设备初始化,我们正在将设备安装器重构为基于插件架构的形式。 由于本开发周期临时加入了 Box64 运行 WPS Office 的 PoC 内容,设备安装器的插件化重构工作暂缓,但仍将在未来的版本上线。届时旧版 ruyi 的设备安装器功能将不可用,请先升级再进行体验。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

本期无进展。

GCC

  • 提交了 gprofng 的 patch,目前已通过 review 修改,正在等待合并。
  • 更新了 profiles 的支持。

LLVM

  • 新建 Tuning-SPEC-CPU 分支,用于 Spec CPU 较高性能的优化
  • 支持了使用 vgetvset 在不同 LMUL 的寄存器组上进行操作
  • 完善相关测试用例,增加更多真实世界的代码片段作为测试

V8

  1. 新增 RISCV32 的 Turboshaft 单元测试支持。
  2. 新增 RISC-V SV39 支持。

OpenJDK

  1. Proposed JDK-mainline PRs:
  1. Reviewed JDK-mainline PRs:

官网

RuyiSDK 社区参与的 MoonBit 第三次 Meetup 活动回顾来了!🎉

由 MoonBit 联合 RuyiSDK 和 Intel 举办的第三次 Meetup 活动圆满结束啦!本次活动嘉宾云集,涵盖了从云原生开发平台到 WebAssembly 模块化技术、编程语言垃圾回收技术的最新进展、RuyiSDK 包管理器以及 RevyOS 最新进展多个热点话题。

截止今日 7 月 8 日,订阅人数一共 37 人(增加 1 人)。RuyiSDK 网站访问人数 502 人(增加 103 人),访问页面 1424 次(增加 339 次)。RuyiSDK 微信交流群 70 人(进群请微信加小助手 ruyisdk_helper)。

操作系统支持矩阵

  • Ubuntu 24.04 LTS
    • StarFive VisionFive 2
    • HiFive Unmatched
  • openEuler RISC-V 24.03 LTS
    • Sipeed Lichee Pi 4A
    • Milk-V Pioneer (v1.3)
  • 一些小的 typo 修复

内容请详见:ruyisdk/support-matrix

第 024 期·2024 年 06 月 24 日

· 約6分
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理

卷首语

RuyiSDK V0.13 版本已于今日发布。 在这个版本中,操作系统支持矩阵增加了开发板的 IP Core 信息,同时完成了英文版本的支持。RuyiSDK 包管理器修复并完善了一些缺陷,同时为引入插件架构做了准备,以达到后续更新不需要每次都必须下载最新版的 ruyi 工具。同时 ruyi 包管理器增加了新发布的 openEuler 24.03 LTS 系统的支持和测试

此外,RuyiSDK 还参加了两期活动:MoonBit Meetup 第三期2024 上海国际嵌入式展 ,在这两个活动中介绍了 RuyiSDK 包管理器。

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

包管理器

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

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

  • 修复了 issue #158: coremark 包的两个版本,解压后的目录布局不统一。现在都会在当前工作目录下“摊开”了。
  • 修复了 issue #159: 对“预发布版本”判断方式的不统一。
  • 随着 Python 3.12 的正式发布,官方 ruyi 二进制也在 Python 3.12 环境构建了。
  • 为引入插件架构做好准备:引入了 Starlark 语言支持,并支持在 CI 自动化构建。Starlark 是一种极度简化的 Python 方言,被 Bazel、BUCK 等构建系统广泛采用;这是为了让所有了解 Python 语言的开发者都可使用熟悉的语法撰写 RuyiSDK 包管理器插件。

为了支持刷写方式复杂、需要夹杂人工干预、镜像文件需要手工下载等复杂情况下的设备初始化,我们正在将设备安装器重构为基于插件架构的形式,预计将于下个版本付诸测试。届时旧版 ruyi 的设备安装器功能将不可用,请先升级再进行体验。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

本期暂无进展。

GCC

  • 发布了新的 rv64ilp32 release 版本,修复了 gdb 在 rv64ilp32 调试时的问题。
  • 完成了 P 扩展在 GCC14 上的 Rebase 工作,已合入 RUYISDK GCC14 分支。
  • 添加了 Sm/scsrind 扩展的支持。
  • 正在添加 Ssccft/Smcdeleg 扩展的支持中。

LLVM

修复了如下问题:

  • 支持了 vlmul_truncvlmul_ext 等 bitcast 操作
  • 支持 vreinterpret 在向量布尔值和整数之间的转换
  • LLVM 对向量 Mask 操作支持使用 nvx1i1/nvx2i1/nvx4i1 类型的操作数
  • Clang 对向量 Mask 操作支持了 vbool16/32/64_t 类型的操作数
  • 修复了 RISCVInsertVSETVLI 中对 handleAVLImm 的处理
  • 修复了对 XTHeadVector 中支持的 VSETIVLI 指令的模拟的过程

V8

  1. 添加 RISC-V 平台的 TurboShaft SIMD IR 支持。
  2. 添加 CallApi 支持。

OpenJDK

  1. Proposed JDK-mainline PRs:
  1. Reviewed JDK-mainline PRs:

官网

以用户视角,调整并更新了部分使用文档。 截止今日 6 月 25 日,订阅人数一共 36 人(增加 3 人)。RuyiSDK 网站访问人数 399 人(增加 108 人),访问页面 1085 次(增加 237 次)。RuyiSDK 微信交流群 57 人(ruyisdk meetup 和 展会吸引)。

操作系统支持矩阵

操作系统支持矩阵本次更新:

  • Ubuntu
    • Nezha D1: 更新至 24.04 版本
    • Lichee RV D1: 更新至 24.04 版本
  • Arch Linux
    • D1h(新增)

以及最重要的:我们终于有 i18n / 英文翻译啦 🎉

共计 448 个文件修改,数十次 Review,这可能是支持矩阵创立以来最大的一次修改,在此感谢各位贡献者的参与~

第 023 期·2024 年 06 月 11 日

· 約6分
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理

卷首语

RuyiSDK V0.12 版本已于今日发布。 在这个版本中,操作系统支持矩阵为3 款开发板新增了其支持的操作系统,RuyiSDK 包管理器本期重点修复并完善了一些缺陷,并增加了 Ubuntu 24.04 LTS 系统的支持和测试;官网建设方面申请了公用邮箱contact@ruyisdk.cn,优化了订阅体验。

RuyiSDK 目前采用先调研摸底、然后包管理器集成支持(含设备安装器集成支持)、再 IDE 集成支持的大致路线推进。前期初步完成了首批 RISC-V 开发板的初步调研(50 款),并优先在包管理器和安装器中提供了集成化的系统镜像安装服务。随着 RuyiSDK 对开发板的深入支持,计划与厂商对接,一起合作推动相关工作的开展。

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

包管理器

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

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

  • 修复了先前 Pine64 Star64 Armbian 镜像无法下载的问题。
  • 对于部分必须由用户手工下载的文件,支持了相应的用户体验:按照当前系统语言设置,渲染相应的提示语。
  • 升级了 pygit2 依赖库版本到 1.5.0,以支持 libgit2 的 1.8 版本。
  • 修复了 XDG_STATE_HOME 环境变量被无视的问题。

为了支持刷写方式复杂、需要夹杂人工干预、镜像文件需要手工下载等复杂情况下的设备初始化,我们正在对设备安装器进行重构,预计将于下个版本付诸测试。届时旧版 ruyi 的设备安装器功能将不可用,请先升级再进行体验。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

基于 VSCode IDE,以及包管理器提供的数据接口,在 VSCode 中实现获取全部的 environment。

GCC

支持了 Zimop, Zfbfmin 等多个新扩展,更新修复了 GCC14 的部分回归测试问题。

LLVM

项目大部分 intrinsic 函数已经得到支持,目前正在完善测试流程和测试数据。 至上次更新依赖,新修复了如下问题:

  • 修复了 __riscv_v_elen__riscv_v_elen_fp 在开启 XTHeadVector 拓展时的定义缺失的问题
  • 新增加了两个工具内建函数:vundefinedvreinterpret
  • 将带 mask 的 RVV intrinsic 函数的 policy 从默认的 TAMA (tail agnostic and masked-off agnostic) 修改为 TAMU (tail agnostic and masked-off undisturbed), 使得这些内建函数符合 T-Head Vector 规范。
  • 新增了更多测试用例:例如 rvv_index.c, rvv_branch.c 等。

V8

  1. 继续添加 TurboShaft IR 的指令选择支持。
  2. 添加 WASM 新特性 JSPI 的支持。

OpenJDK

  1. Proposed JDK-mainline PRs:
  1. Reviewed JDK-mainline PRs:

官网

增加了contact@ruyisdk.cn邮箱,优化了订阅体验。

截止今日 6 月 11 日,订阅人数一共 33 人(增加 1 人)。RuyiSDK 网站访问人数 291 人(增加 114 人),访问页面 848 次(增加 440 次)。

操作系统支持矩阵

本周在支持矩阵中新增了更多开发板和操作系统:

  • Milk-V Mars: BuildRoot
  • Milk-V Duo/Duo S/Duo 256M: Zephyr
  • D1: Arch Linux

内容请详见:ruyisdk/support-matrix

第 022 期·2024 年 05 月 28 日

· 約7分
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理

卷首语

RuyiSDK V0.11 版本已于今日发布。 RuyiSDK 社区首次线下 Meetup 成功举办。RuyiSDK 包管理器本期重点修复并完善了一些缺陷,同时 RuyiSDK 软件源增加支持了 Pine64 Star64 开发板,此外正在设计第三方系统镜像在如意软件源的二次分发管理(很多系统镜像存放在网盘、Google Drive、MEGA 等平台上,不便于下载)、以及根据源码自构建出的系统镜像的管理(一些开发板未提供二进制,仅提供源码,需要用户自己编译构建系统镜像),后续将为用户提供更方便的镜像服务。

支持矩阵参考 RISC-V Open Hours 中汇总的 RISC-V 开发板,针对国外主流开发板进行了补充,此外增补了全志处理器的一些开发板的调研,目前支持矩阵已经覆盖了 milkv、矽速、嘉楠、赛昉、沁恒微电子、全志、芯来 这 7 家企业几乎全部 RISC-V 开发板(已知的)、5 款较为流行的国外 RISC-V 开发板,已提交调研和测试结果的开发板数量已有 49 款;RuyiSDK 计划集成所有流行的 RISC-V 开发板,欢迎大家继续补充遗漏的开发板型号。

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

包管理器

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

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

  • 去除了先前唯一的 LGPL 依赖。现在 RuyiSDK 包管理器及其所有依赖都采用宽松开源许可证了,方便下游用户在商业场景取用。

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

  • Ruyi 设备安装器现已新增支持以下设备型号:
    • Pine64 Star64

我们注意到越来越多的设备型号,甚至如最新面世的 BananaPi BPI-F3 等等,其系统镜像仅以网盘(百度网盘、Google Drive、MEGA 等服务)方式分发。对这些设备型号的妥善支持面临挑战;在接下来的版本迭代中,我们将尝试支持此场景,敬请期待或参与进来。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

基于 VSCode IDE,以及包管理器提供的数据接口,初步在 VSCode 中实现了 news、如意软件源工具链、demo 等资源的获取,初步可以展示 news(软件更新新闻),软件源工具链资源的选择和安装、基于虚拟环境的 demo 的编译等初步模块化功能。

GCC

更新了 RV64ILP32 的支持,,包括 Binutils,QEMU,说明文档等,发布了新的 release 工具版本。

LLVM

  • 继续完善 LLVM intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:
    • 14.7. Vector Floating-Point Square-Root Operations
    • 14.10. Vector Floating-Point MIN/MAX Operations
    • 14.11. Vector Floating-Point Sign-Injection Operations
    • 14.12. Vector Floating-Point Compare Operations
    • 14.13. Vector Floating-Point Classify Operations
    • 14.14. Vector Floating-Point Merge Operations
    • 14.15. Vector Floating-Point Move Operations
    • 14.16. Single-Width Floating-Point/Integer Type-Convert Operations
    • 14.17. Widening Floating-Point/Integer Type-Convert Operations
    • 14.18. Narrowing Floating-Point/Integer Type-Convert Operations
  • 完善测试流程和测试数据
    • 增加了 rvv-intrinsic-doc 仓库中位于 examples/ 目录下的测试用例
    • 在 GitHub Actions 中使用 qemu 6.2 对编译器输出的程序进行模拟运行测试
    • 重新整理 clang 部分对 RVV intrinsic 的测试用例,使其符合用例规范

OpenJDK

  1. Proposed JDK-mainline PRs:
  1. Reviewed JDK-mainline PRs:

官网

RuyiSDK 首次线下 Meetup 圆满结束,下次见!

RuyiSDK 网站添加统计功能,增加了德语支持。ruyisdk.cn 域名 ICP 备案完成,技术论坛筹备中。

截止今日 5 月 28 日,订阅人数增加 14 人(由 meetup 引流),一共 32 人。RuyiSDK 网站自 5 月 16 日添加统计功能后,访问人数 177 人,访问页面 408 次。

操作系统支持矩阵

本周在支持矩阵中新增了更多开发板和操作系统:

  • R128
  • BeagleV-Ahead
  • BeagleV-Fire
  • Star64
  • MongoPi MQ Pro
  • Duo 256M
  • BPi-F3
  • DongshanPI-哪吒 STU
  • DongshanPI D1s
  • D1s NeZha
  • Mangopi MQ
  • CH573
  • Polarfire SoC FPGA Icicle Kit

内容请详见:ruyisdk/support-matrix

至此,操作系统支持矩阵已覆盖了近 50 款开发板,撒花~

第 021 期·2024 年 05 月 14 日

· 約7分
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理

卷首语

RuyiSDK V0.10 版本已于今日发布。 如意软件源仓库发布了 PLCT 实验室提交的支持 T-Head Vector 的 LLVM 17.0.6 版本。RISC-V 设备集成与支持方面,RuyiSDK 完成了对沁恒微电子现有 RISC-V 全产品系列的调研,并在设备系统安装器中添加支持。 此外,全志、芯来RISC-V 处理器的开发板也已经加入集成设备清单,目前相关开发板大部分已经完成调研,接下来也会集成到如意设备安装器中。

为了完善国内注册功能,如意官网在进一步的完善后端服务端和推进 ruyisdk.cn 域名备案。RuyiSDK 推广工作也开始筹备,RuyiSDK 社区首次线下 Meetup 完成筹备,将于 5 月 18 举办

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

包管理器

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

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

  • 支持了全局选项 --porcelain 以方便外部程序与 ruyi 交互。初期适配了 ruyi listruyi news list 两种操作。
  • ruyi news 在某条新闻存在当前系统语言翻译版本时,会优先展示此语言版本了。

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

  • 新增打包了 PLCT 维护的 LLVM 工具链 toolchain/llvm-plct,主要特色是 XTHeadVector 支持。
  • 新增支持了大量沁恒微电子(WCH)RISC-V MCU 评估板。Ruyi 设备安装器现已新增支持以下设备型号:
    • WCH CH32V103 评估板
    • WCH CH32V203 评估板
    • WCH CH32V208 评估板
    • WCH CH32V303 评估板
    • WCH CH32V305 评估板
    • WCH CH32V307 评估板
    • WCH CH582F 评估板
    • WCH CH592X 评估板

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

本期无可见交付进展。

GCC

更新了 RUYISDK GCC14 分支,目前正在 rebase rv64ilp32/SIMD/Profiles 等特性中。

LLVM

  • 增加针对 T-Head Vector 的优化 Pass

    • 增加了 RedundantVSETVLIElimination 优化过程,用于消除冗余的 vsetvli 指令
  • 继续完善 LLVM intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:

    • 14.1. Vector Single-Width Floating-Point Add/Subtract Operations
    • 14.2. Vector Widening Floating-Point Add/Subtract Operations
    • 14.3. Vector Single-Width Floating-Point Multiply/Divide Operations
    • 14.4. Vector Widening Floating-Point Multiply Operations
    • 14.5. Vector Single-Width Floating-Point Fused Multiply-Add Operations
    • 14.6. Vector Widening Floating-Point Fused Multiply-Add Operations
    • 14.7. Vector Floating-Point Square-Root Operations
    • 14.8. Vector Floating-Point Reciprocal Square-Root Estimate Operations
    • 14.9. Vector Floating-Point Reciprocal Estimate Operations
    • 14.10. Vector Floating-Point MIN/MAX Operations
    • 14.11. Vector Floating-Point Sign-Injection Operations
    • 14.12. Vector Floating-Point Compare Operations
    • 14.13. Vector Floating-Point Classify Operations
    • 14.14. Vector Floating-Point Merge Operations
    • 14.15. Vector Floating-Point Move Operations
    • 14.16. Single-Width Floating-Point/Integer Type-Convert Operations
    • 14.17. Widening Floating-Point/Integer Type-Convert Operations
    • 14.18. Narrowing Floating-Point/Integer Type-Convert Operations
    • 17.2. Integer Scalar Move Operations
    • 17.3. Floating-Point Scalar Move Operations
    • 17.4. Vector Slide Operations
    • 17.5. Vector Register Gather Operations
    • 17.6. Vector Compress Operations
  • 继续完善 Clang intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:

    • 14.1. Vector Single-Width Floating-Point Add/Subtract Operations
    • 14.2. Vector Widening Floating-Point Add/Subtract Operations
    • 14.3. Vector Single-Width Floating-Point Multiply/Divide Operations
    • 14.4. Vector Widening Floating-Point Multiply Operations
    • 14.5. Vector Single-Width Floating-Point Fused Multiply-Add Operations
    • 14.6. Vector Widening Floating-Point Fused Multiply-Add Operations
    • 15.1. Vector Single-Width Integer Reduction Operations
    • 15.2. Vector Widening Integer Reduction Operations
    • 15.3. Vector Single-Width Floating-Point Reduction Operations
    • 15.4. Vector Widening Floating-Point Reduction Operations
    • 17.4. Vector Slide Operations
    • 17.5. Vector Register Gather Operations
    • 17.6. Vector Compress Operations

OpenJDK

  1. OpenJDK PRs:
  1. Reviewed riscv-port-jdk11u backport PRs:
  1. CFV: New RISC-V Port Committer: Gui Cao

V8

  1. 新增 fastcall 特性的 JavaScript 可重入特性。
  2. 修复内置模拟器 RVV 寄存器内容未初始化、指针压缩开启后,32 位模式下指针判零等 bug。

官网

RuyiSDK 社区首次线下 Meetup 来啦,5 月 18 日软件所见!

为了完善国内注册功能,如意官网在进一步的完善后端服务端和推进 ruyisdk.cn 域名备案。

操作系统支持矩阵

新增部分全志、芯来开发板的系统支持情况调研;基于现有开发板和相关文档展开测试验证,产出测试报告。

  • Milk-V Duo S
    • NuttX
      • 新版本重新测试
    • BuildRoot
    • Debian
  • CanMV / Kendryte K230
    • NuttX
    • RT-Thread
  • StarFive VisionFive 2
    • NuttX
  • Maix-I K210
    • NuttX
  • Nuclei DDR200T
    • FreeRTOS
    • RT-Thread
  • Longan Nano
    • RT-Thread
  • RV Star
    • FreeRTOS
    • RT-Thread
  • 100ASK-V853-PRO (Allwinner V853)
    • Melis
  • CM32M433R-START
    • FreeRTOS
    • RT-Thread
  • TinyVision
    • Melis
  • Allwinner V853
    • Melis
  • Youmu Pi
    • Melis

内容请详见:ruyisdk/support-matrix

第 020 期·2024 年 04 月 23 日

· 約5分
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理

卷首语

RuyiSDK V0.9 版本已于今日发布。 RuyiSDK 完成了对矽速现有 RISC-V 全产品线的调研,并在设备系统安装器中添加支持,除 RISCV FPGA 系列中无 RISC-V 硬核的开发板,均已集成到 RuyiSDK 中。同时,完成了对 嘉楠勘智 K510 的支持

近期提交了基于 17.0.6 版本添加 xtheadvector 支持的 LLVM 工具链,这一支持后续也将集成到 RuyiSDK 中。此外,包管理器工具针对开发板镜像或 SDK 格式多元化的特点,修复了多文件压缩包下载时的 bug,增加 lz4 压缩格式解包等。RuyiSDK 更多进展细节详见下方详情,欢迎大家试用并提供反馈和建议。

下一个开发版本 RuyiSDK V0.10 版本将在 5 月 14 日发布。

包管理器

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

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

  • 支持解包 LZ4 格式的压缩文件了。

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

  • 支持矽速(Sipeed)全线 RISC-V 产品。Ruyi 设备安装器现已新增支持以下设备型号:
    • Sipeed LicheeRV Nano
    • Sipeed Lichee Cluster 4A
    • Sipeed Lichee Console 4A
    • Sipeed Maix-I
    • Sipeed Tang Mega 138K Pro

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

本期暂无进展。

GCC

继续维护 RUYISDK GCC 的版本支持,修复了 gcc12 构建时的一些问题,正在同步最新的 GCC14 release 特性。

LLVM

T-Head Vector 拓展

  • 继续完善 LLVM intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:
    • 15.1. Vector Single-Width Integer Reduction Operations
    • 15.2. Vector Widening Integer Reduction Operations
    • 15.3. Vector Single-Width Floating-Point Reduction Operations
    • 15.4. Vector Widening Floating-Point Reduction Operations
    • 16.1. Vector Mask-Register Logical Operations
    • 16.2. Vector mask population count vpopc
    • 16.3. vfirst find-first-set mask bit
    • 16.4. vmsbf.m set-before-first mask bit
    • 16.5. vmsif.m set-including-first mask bit
    • 16.6. vmsof.m set-only-first mask bit
    • 16.7. Vector Iota Operations
    • 16.8. Vector Element Index Operations
  • 继续完善 Clang intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:
    • 16.1. Vector Mask-Register Logical Operations
    • 16.2. Vector mask population count vpopc
    • 16.3. vfirst find-first-set mask bit
    • 16.4. vmsbf.m set-before-first mask bit
    • 16.5. vmsif.m set-including-first mask bit
    • 16.6. vmsof.m set-only-first mask bit
    • 16.7. Vector Iota Operations
    • 16.8. Vector Element Index Operations

OpenJDK

  1. Proposed JDK-mainline PRs:
  1. Reviewed JDK-mainline PRs:

V8

解决了指针压缩开启后,32 位指针与 0 比较时依然使用 64 位比较指令的 bug。 使用 RISC-V 提供的 sys_riscv_hwprobe 系统调用来进行运行时指令集的探测。

官网

本期暂无进展。

操作系统支持矩阵

新增对 Canaan Kendryte K510、Sipeed Tang Mega 138K Pro 等开发板的系统支持情况调研。基于矽速各开发板展开测试验证,输出测试报告。 内容详见:https://github.com/ruyisdk/support-matrix

第 019 期·2024 年 04 月 09 日

· 約7分
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理

卷首语

RuyiSDK V0.8 版本已于今日发布。RuyiSDK 官网已正式上线;RuyiSDK 软件源已集成 PLCT 发布的支持香山南湖微处理器的 GNU

RuyiSDK 对 milkv 全产品线支持计划于上期基本完成,本期缺失待测设备还未就绪,因此仍需等待设备就绪后完成最后部分设备测试工作。对矽速全产品线支持计划本期完成了部分调研和集成准备工作,其 Linux RISC-V SBC 系列所有开发板、以及 Maix AI 视觉系列 RISC-V 设备的调研和集成准备工作基本就绪,RISCV FPGA 系列相关开发板还在调研了解中。

此外,包管理器工具完成了若干功能的完善和优化,更多进展详见下方详情,欢迎大家试用并提供反馈和建议。

下一个开发版本 RuyiSDK V0.9 版本将在 4 月 23 日发布。

包管理器

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

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

  • 默认禁止了以 root 身份运行 ruyi,以提升安全性。如确有需要,可按程序提示设置环境变量以绕过检查,但我们不推荐这么做。
  • 迭代了软件源格式:
    • 支持以 TOML 格式撰写软件源全局配置及包定义文件。相比先前采用的 JSON 格式,更便于手工编辑、添加注释、标记文件格式版本等,有利于维护。
    • 支持定义上游镜像了。后续对那些本身也通过镜像分发的软件包,也能借助此功能,利用上它们的镜像了,有利于提高用户一侧的下载速度与可靠性。
  • 支持在 wgetcurl 均不可用的系统上下载文件了。
  • 安装软件包时的解包操作现在具备原子性了。这意味着一旦解包被中断,重试时,ruyi 不会错误以为该包已经安装完成了。
  • 持续优化工程实践:
    • 目前所有代码贡献都会在代码风格、类型注解、开源许可证遵守方面接受检查了。
    • 改进了打包流程,使 ruyi 官方二进制的包体得到了一定的瘦身。

欢迎试用或来上游围观;您的需求是我们迭代开发的目标和动力。

IDE

本期暂无显著进展。

GCC

修复了 Zicond 扩展与新版本 newlib 不兼容的问题,协助解决了 B-type 指令的添加问题, 补充了香山 Branch 流水线的指令支持类型,继续集成新的 RISC-V 特性到 RUYISDK GNU 工具链中。

LLVM

T-Head Vector 拓展

  • 继续完善 LLVM intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:
    • 14.1. Vector Single-Width Floating-Point Add/Subtract Operations
    • 14.3. Vector Single-Width Floating-Point Multiply/Divide Operations
  • 继续完善 Clang intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:
    • 13.1. Vector Single-Width Saturating Add and Subtract
    • 13.5. Vector Narrowing Fixed-Point Clip Operations

此外,本次将 T-Head Vector 分支 rebase 到了 LLVM 17.0.6 版本。

OpenJDK

  1. Get familar with virtual thread pinning issue (Virtual Thread’s Next Steps: https://fosdem.org/2024/schedule/event/fosdem-2024-3255-virtual-thread-s-next-steps/ )

  2. Proposed riscv-port-jdk11u backport PRs to fix GHA linux-cross-build (linux-riscv64) failure:

  1. Reviewed JDK-mainline PRs:
  1. Reviewed JDK21u upstream PRs:
  1. Reviewed JDK11u upstream PRs:
  1. Reviewed riscv-port-jdk11u backport PRs:
  1. OpenJDK PRs

V8

  1. 修复沙盒 SandBox 支持的 BUG,在 RISC-V 架构上开启该功能,加强 V8 的安全特性。
  2. 移植 TurboShaft IR 的单元测试集到 RISC-V 架构。
  3. 在 V8 中实现相应的支持,以适配 openEuler RISC-V 新版本中的 SV57 虚拟内存特性。

官网

RuyiSDK 官网正式上线了!欢迎访问官网,了解更多关于 RuyiSDK 的信息,点击网站下方的订阅,获得我们的最新消息或者加入社区。

官网访问地址:https://ruyisdk.org/

官网仓库:https://github.com/ruyisdk/ruyisdk-website

操作系统支持矩阵

完成了对绝大多数市面常见 RISC-V 开发板操作系统支持情况的调研,并编写了测试报告。新增了对 Lichee Cluster 4A、Lichee Console 4A、Sipeed Maix-I、Lichee RV Nano 的系统支持情况调研。

内容详见:https://github.com/ruyisdk/support-matrix