Zum Hauptinhalt springen

Zweiwöchentlicher RuyiSDK-Bericht

Erhalten Sie alle zwei Wochen die neuesten Entwicklungsupdates

第 026 期·2024 年 07 月 23 日

· 6 Minuten Lesezeit
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 人。

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 Minuten Lesezeit
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 人。

操作系统支持矩阵

  • 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 Minuten Lesezeit
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 Minuten Lesezeit
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 Minuten Lesezeit
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 Minuten Lesezeit
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 Minuten Lesezeit
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 Minuten Lesezeit
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

第 018 期·2024 年 03 月 26 日

· 6 Minuten Lesezeit
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理(已离职)

卷首语

RuyiSDK V0.7 版本今日正式发布。GCC 上游社区合并了 PLCT 提交的香山南湖微架构补丁,RuyiSDK 包管理器正在对最新的 gnu-upstream 进行新版本的打包分发,预计近日将发布;RuyiSDK 官网已公开内测;操作系统安装器新增了 Milk-V Duo S、Milk-V Mars、Milk-V Vega 等产品的集成,截止本版本为止,Milk-V 当前全产品线已经初步集成到 RuyiSDK 包管理器(Milk-V Duo S、Milk-V Mars 设备暂时未到位测试验证后续补充,欢迎有设备的开发者们试用反馈)。

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

包管理器

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

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

  • 修复了在部分系统上找不到 TLS 根证书的问题。
  • Ruyi 设备安装器(ruyi device provision)现在可以帮忙制作安装介质(如 LiveUSB)了。

此外,我们完善了持续集成基础设施:从此版本开始,RuyiSDK 包管理器的所有版本发布将以自动化方式完成了。这有助于我们更高效、更可靠地推进开发工作、解决问题。

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

IDE

集成开发环境 VSCode 开发部分目前征集到一位内部兼职开发者,开始尝试基于 VSCode 实现 Milkv 开发板的集成开发工作。

GCC

香山南湖的微架构支持已合入 GCC 上游,继续推进 RUYISDK 多版本 GCC 的支持工作,更新了“-march=help”特性的支持。

LLVM

T-Head Vector 拓展

  • 继续完善 LLVM intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:
    • 13.1. Vector Single-Width Saturating Add and Subtract
    • 13.5. Vector Narrowing Fixed-Point Clip Operations
  • 继续完善 Clang intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:
    • 12.7. Vector Integer Comparison Operations
    • 12.8. Vector Integer Min/Max Operations
    • 12.9. Vector Single-Width Integer Multiply Operations
    • 12.10. Vector Integer Divide Operations
    • 12.11. Vector Widening Integer Multiply Operations
    • 12.12. Vector Single-Width Integer Multiply-Add Operations
    • 12.13. Vector Widening Integer Multiply-Add Operations
    • 12.14. Vector Integer Merge Operations
    • 13.3. Vector Single-Width Fractional Multiply with Rounding and Saturation

OpenJDK

OpenJDK RV64 继续持续负责 OpenJDK RISC-V 相关代码的日常开发、测试、代码检视和架构看护。

  1. Reviewed JDK-mainline PRs:
  1. Reviewed JDK21u upstream PRs:
  1. Reviewed JDK11u upstream PRs:
  1. Reviewed riscv-port-jdk11u backport PRs:
  1. riscv-port-jdk11u daily build available at: https://builds.shipilev.net/openjdk-jdk11-riscv/
  2. Troubleshoot GHA linux-cross-build (linux-riscv64) failure (https://bugs.openjdk.org/browse/JDK-8326960 )
  3. OpenJDK PRs

官网

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

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

官网近期完成了细节的更新、文档更新、i18n 多语言支持相关的工作。目前公开邀请测试中。

操作系统支持矩阵

对 RISC-V 开发板及其支持的操作系统的支持矩阵的内容和文档进行了更新和完善,并增加了 Milk-V Duo S、Milk-V Mars、Milk-V Vega 等新设备的支持调研,Milk-V Duo S、Milk-V Mars 在开发板上的实际测试验证等待采购设备到位后开展。

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

第 017 期·2024 年 03 月 12 日

· 5 Minuten Lesezeit
xijing21
RuyiSDK 项目经理
ArchFeh
RuyiSDK 社区经理(已离职)

卷首语

RuyiSDK V0.6 版本如期而至,RuyiSDK 官网上线内测,网站各基础板块已具备,文档和内容已初步成型。RISC-V 开发板操作系统支持矩阵一直在持续更新,本期在官网上发布第一版结果。操作系统安装器对已集成的开发板可用操作系统的类型进行了增加。

此外调研了 milkv、矽速、沁恒微电子三家厂商的 RISC-V 产品,开始启动 milkv、矽速全产品线支持计划。

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

包管理器

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

本次更新主要包含了以下内容:

  • 不再依赖系统提供的 git 命令进行软件源同步了。相应地,您需要确保系统中存在 TLS 根证书(例如名为 ca-certificates 或类似的包),以及 OpenSSL 库;这对我们官方支持的发行版不是问题。
  • ruyi news 展示的新闻内容的标题样式更简洁了。

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

IDE

本期暂无进展。

GCC

联合玄铁团队发布了新 32 位产品级开源工具链,利用 64 位指令有效减少 32 位应用的指令数量。 Zabha 扩展 patch 已被上游接受合入,继续推进 gprofng 与 libmvec 库的支持中。

LLVM

T-Head Vector 拓展

  • 继续完善 LLVM intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:
    • 13.2. Vector Single-Width Averaging Add and Subtract
    • 13.3. Vector Single-Width Fractional Multiply with Rounding and Saturation
  • 继续完善 Clang intrinsic 函数,自上次更新以来,新支持了这些类别下的函数:
    • 12.6. Vector Narrowing Integer Right Shift Operations

此外,第一阶段交给上游的 PR 已经提交,正在等待上游的响应。自上次更新以来的进度如下:

OpenJDK

OpenJDK RV64 继续持续负责 OpenJDK RISC-V 相关代码的日常开发、测试、代码检视和架构看护。

  1. Reviewed JDK-mainline PRs:
  1. Testing before Rampdown/CodeFreeze for LTS versions: OpenJDK 21.0.3 and OpenJDK 17.0.11
  • Run OpenJDK tier1-4 regression tests on Unmatched and Licheepi-4A boards.
  • Run MineCraft and typical Apache softwares (Netbeans, Lucene, Tomcat, Hadoop, Spark)
  1. Co-authored JDK-mainline PRs:

官网

官网已于 3 月 1 日开启内部测试,官网支持:

  • RuyiSDK 介绍
  • 查看支持文档
  • 链接社区
  • 新闻发布
  • 订阅 RuyiSDK newsletter
  • RuyiSDK 下载入口
  • 多语言支持

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

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

操作系统支持矩阵

RISC-V 开发板及其支持的操作系统的支持矩阵公开发布第一版,目前已集成到官网。

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