2 unstable releases

0.2.0 Jan 20, 2025
0.0.1 Dec 2, 2024

#6 in #uboot

Download history 21/week @ 2025-02-19 29/week @ 2025-02-26 5/week @ 2025-03-05 1/week @ 2025-03-19 10/week @ 2025-03-26 5/week @ 2025-04-16 13/week @ 2025-04-23 13/week @ 2025-04-30 10/week @ 2025-05-07 7/week @ 2025-05-14 379/week @ 2025-05-21 92/week @ 2025-05-28

490 downloads per month
Used in 3 crates (via bare-test)

MIT license

5KB
80 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

~195–620KB
~15K SLoC