bsp_define

微内核 BSP(Board Support Package)硬件配置 trait 定义。
#![no_std],支持 aarch64 / riscv64 架构。
功能
- BspDefine trait — 统一的板级配置入口,通过关联类型指定控制台、中断控制器、时钟源
- ConsoleImpl — 控制台驱动 trait(基于
core::fmt::Write)
- IrqchipImpl — 中断控制器驱动 trait(支持 GIC / PLIC / IPI)
- ClockImpl — 时钟源驱动 trait(支持 ARM Generic Timer / RISC-V Timer)
- SmpDefine — 多核启动定义(PSCI / SBI 双架构)
- MemDefine — 内存域布局定义(最多 8 个区域)
用法
use bsp_define::{BspDefine, console::ConsoleImpl, irqchip::IrqchipImpl, clocksource::ClockImpl};
struct MyBsp;
impl BspDefine for MyBsp {
type Console = MyConsole;
type Irqchip = MyIrqchip;
type Clock = MyClock;
const DEFINE_SMP: SmpDefine = ;
const DEFINE_MEMS: MemDefine = ;
const DEFINE_CONSOLE: Self::Console = MyConsole::new();
const DEFINE_IRQCHIP: Self::Irqchip = MyIrqchip::new();
const DEFINE_CLOCK: Self::Clock = MyClock::new();
fn late_init(&self) {
}
}