可在开源 RISC-V 上的裸机操作系统

几款可在开源 RISC-V (如 QEMU、HiFive、VisionFive、Kendryte K210 等)上运行的裸机级操作系统或实时内核。这些系统通常不依赖 Linux 的庞大内核,而是直接操作硬件,适合嵌入式、教学或实时控制场景。


1. xv6-riscv

  • 定位: MIT 教学用操作系统,Unix V6 的 RISC-V 重写版
  • 特点 :
    • 约 10,000 行 C + 少量汇编,结构清晰
    • 支持多进程、简单文件系统、管道、exec
    • 运行在 QEMU RISC-V 或真实硬件
  • 适用: 操作系统课程、内核原理学习
  • 获取 : git clone https://github.com/mit-pdos/xv6-riscv.git

2. RustSBI + rustsbi-qemu / rustsbi-hal

  • 定位: RISC-V 的引导层(SBI 实现),但可扩展为极简运行时
  • 特点 :
    • 用 Rust 编写,内存安全
    • 提供 M-mode 的 SBI 调用接口(定时器、IPI、控制台)
    • 可作为裸机程序的底层支撑,或扩展为微内核
  • 适用: 安全关键系统、Rust 生态嵌入式开发
  • 获取: https://github.com/rustsbi/rustsbi

3. Zephyr RTOS

  • 定位: Linux 基金会托管的实时操作系统
  • RISC-V 支持 :
    • 支持 QEMU RISC-V32/64、HiFive1、ESP32-C3 等
    • 配置最小可达 8KB Flash + 4KB RAM
    • 支持多线程、信号量、消息队列、网络栈(可选)
  • 特点: 模块化 Kconfig 配置,POSIX 兼容层
  • 适用: 物联网传感器、可穿戴设备、工业控制
  • 构建 : west build -b qemu_riscv64 samples/hello_world

4. FreeRTOS

  • 定位: 最广泛使用的开源实时内核
  • RISC-V 支持 :
    • 官方移植支持 RISC-V RV32I/RV32IMAC/RV64I
    • 提供 GCC 和 IAR 工具链支持
    • 最小内核约 4-9KB ROM
  • 特点: 抢占式调度、极简 API、广泛社区生态
  • 适用: 商业产品、实时控制、快速上市
  • 获取: https://github.com/FreeRTOS/FreeRTOS-Kernel

5. RT-Thread Nano / RT-Thread Smart

  • 定位: 国产开源实时操作系统
  • RISC-V 支持 :
    • Nano 版最小 3KB Flash + 1.2KB RAM
    • 支持 QEMU RISC-V、GD32VF103、CH32V307 等
    • 提供 FinSH 命令行、DFS 文件系统、SAL 套接字抽象层
  • 特点: 组件化(软件包生态)、POSIX 兼容、国产芯片支持好
  • 适用: 国产 RISC-V 芯片开发、教育
  • 获取: https://github.com/RT-Thread/rt-thread

6. seL4 on RISC-V

  • 定位: 形式化验证的微内核(安全关键系统)
  • RISC-V 支持 :
    • 已验证移植到 RV64(Spike 模拟器、HiFive Unmatched)
    • 提供 capability-based 安全模型
    • 内核代码经过 C 代码级形式化证明
  • 特点: 高可靠、微内核架构、多服务隔离
  • 适用: 航空航天、汽车电子、安全网关
  • 获取: https://github.com/seL4/seL4

7. Tock OS

  • 定位: 嵌入式安全操作系统,用 Rust 编写
  • RISC-V 支持 :
    • 支持 HiFive1、ESP32-C3、OpenTitan 等
    • 内核与用户空间隔离,进程间内存安全
    • 基于 capsule 的驱动模型(编译时检查)
  • 特点: 安全优先、低功耗、适合传感器网络
  • 适用: 安全 IoT、学术安全研究
  • 获取: https://github.com/tock/tock

8. NuttX RTOS

  • 定位: POSIX 标准兼容的实时操作系统
  • RISC-V 支持 :
    • 支持 QEMU RISC-V、BL602、ESP32-C3 等
    • 完整 POSIX 线程、文件系统、BSD 套接字
    • 可配置为微内核或宏内核模式
  • 特点: 高度标准兼容、可运行 Lua/Python 脚本
  • 适用: 需要 POSIX 兼容的裸机场景
  • 获取: https://github.com/apache/nuttx

9. Hubris (by Oxide Computer)

  • 定位: Rust 编写的微内核,专为嵌入式设计
  • RISC-V 支持: 实验性支持(主要目标为 ARM Cortex-M)
  • 特点 :
    • 静态分配、无堆内存、任务隔离
    • 基于 IPC 的消息传递架构
    • 编译时确定资源,拒绝运行时失败
  • 适用: 高可靠工业控制(Oxide 用于服务器 BMC)
  • 获取: https://github.com/oxidecomputer/hubris

10. Bare-metal 教学框架

项目 描述 链接
rCore-Tutorial 清华 Rust 版教学 OS,从裸机到多核 https://github.com/rcore-os/rCore-Tutorial
os-tutorial-riscv 从零写 RISC-V OS 的教程代码 多个 GitHub 仓库
sifive/freedom-e-sdk SiFive 官方 SDK,含裸机示例 https://github.com/sifive/freedom-e-sdk

选择建议

需求场景 推荐系统 理由
教学/学习内核原理 xv6-riscv / rCore-Tutorial 代码精简,文档完善
商业实时控制 FreeRTOS / Zephyr / RT-Thread 生态成熟,文档丰富
高安全/形式化验证 seL4 数学证明可靠
Rust 生态/内存安全 Tock / Hubris / RustSBI 语言级安全保证
POSIX 兼容/快速移植 NuttX 标准 API,Linux 代码易迁移
极简资源(<<16KB) RT-Thread Nano / FreeRTOS 裁剪后体积极小
相关推荐
GitCode官方2 小时前
开源鸿蒙跨平台直播|15场·10大框架|首期:跨平台不是“权衡之选“,而是基础设施
人工智能·华为·开源·harmonyos·atomgit
DogDaoDao2 小时前
深入解析 libaom:AV1 开源编解码库技术分析
google·开源·音视频·视频编解码·hevc·av1·libaom
FIT2CLOUD飞致云2 小时前
加强安全防护,图表与仪表板功能优化,DataEase开源BI工具v2.10.23 LTS版本发布
数据分析·开源·数据可视化·dataease·bi
lularible2 小时前
从沙子到车辙(4.2):从片内到片间——SPI、I2C
开源·嵌入式·汽车电子
郑寿昌2 小时前
清华开源智能体PilotDeck:智能路由技术大幅降低AI落地成本
人工智能·开源
hai31524754311 小时前
RISC-V核E203核前向旁路的架构性顽疾
驱动开发·架构·硬件架构·硬件工程·risc-v
冬奇Lab13 小时前
每日一个开源项目(第105篇):Twenty - 跳出 Salesforce 的圈套,定义现代开源 CRM
前端·后端·开源
GitCode官方14 小时前
开源鸿蒙 PC 直播回顾|从环境搭建到真机验证:鸿蒙 PC 命令行迁移全链路。
华为·开源·harmonyos
阿宝哥16 小时前
国产开源 TTS 杀疯了:2B 参数、支持 30 种语言,语音克隆和声音设计全都有!
开源·aigc