bsp_define 0.1.57

微内核 BSP 硬件配置 trait 定义
Documentation
# bsp_define

[![crates.io](https://img.shields.io/crates/v/bsp_define.svg)](https://crates.io/crates/bsp_define)
[![docs.rs](https://docs.rs/bsp_define/badge.svg)](https://docs.rs/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 个区域)

## 用法

```rust
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) {
        // 加载 APP、板级特有初始化
    }
}
```