15 releases (5 breaking)

Uses new Rust 2024

0.5.5 Feb 17, 2025
0.5.4 Feb 14, 2025
0.4.4 Feb 14, 2025
0.3.0 Feb 6, 2025
0.0.1 Oct 31, 2024

#1109 in Embedded development

Download history 4/week @ 2024-12-14 7/week @ 2025-01-04 15/week @ 2025-01-11 216/week @ 2025-01-18 18/week @ 2025-01-25 126/week @ 2025-02-01 745/week @ 2025-02-08 538/week @ 2025-02-15 50/week @ 2025-02-22 32/week @ 2025-03-01

1,360 downloads per month

MPL-2.0 license

18KB
469 lines

雀实操作系统 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

~0.7–1MB
~18K SLoC