#os #kernel #sparreal

nightly no-std sparreal-kernel

Sparreal OS kernel

34 releases

Uses new Rust 2024

0.12.5 Jan 23, 2026
0.12.3 Dec 30, 2025
0.12.2 Oct 15, 2025
0.10.1 Jul 30, 2025
0.1.6 Nov 21, 2024

#1763 in Embedded development

Download history 171/week @ 2025-10-09 101/week @ 2025-10-16 20/week @ 2025-10-23 1/week @ 2025-10-30 4/week @ 2025-11-13 7/week @ 2025-11-20 2/week @ 2025-11-27 1/week @ 2025-12-18 8/week @ 2025-12-25 6/week @ 2026-01-15 109/week @ 2026-01-22

115 downloads per month
Used in 12 crates (2 directly)

MPL-2.0 license

160KB
3.5K SLoC

雀实操作系统 Sparreal

麻雀虽小,五脏俱全的实时操作系统。

环境搭建

git clone --recurse-submodules  git@github.com:qclic/sparreal-os.git
  1. 安装 Rust
  2. 安装依赖
cargo install ostool

Windows

安装Qemu, 并加入环境变量。

Linux

安装Qemu

Mac

安装Qemu

构建

ostool build

Qemu 测试

ostool run qemu

Qemu + Vscode 断点调试

ostool run qemu -d

windows

msys2 安装 gdb-multiarch, 并添加到 PATH

pacman -S mingw-w64-ucrt-x86_64-toolchain

vscode 选择调试配置 KDebug, 点击 Run and Debug 按钮。

U-Boot 调试

需要连接开发板串口。

ostool run uboot

配置

首次执行 ostool 任务后,会在根目录生成默认配置文件 .project.toml

平台适配

  1. 实现平台接口
  2. 启动内核
use sparreal_kernel::platform_if::Platform;
use sparreal_macros::api_impl;

pub struct PlatformImpl;

// 实现接口
#[api_impl]
impl Platform for PlatformImpl {
    unsafe fn wait_for_interrupt() {
        aarch64_cpu::asm::wfi();
    }
    ... other fn
}

Dependencies

~5MB
~84K SLoC