#bootloader #dfu #pic32 #mips #no-std

no-std kitieboot

Kitieboot 运行时支持

1 个不稳定版本

0.1.0 2023年6月30日

#1584 in 硬件支持

MIT/Apache

7KB

为Kitieboot kb3k引导加载程序提供运行时支持,包括USB接口

Crates.io docs.rs

此crate可用于启动引导加载程序或提供USB设备固件更新(DFU)类接口。DFU支持基于usbd-dfu-rt crate。

示例(USB DFU接口)

let sysclock = 48_000_000_u32.hz();
let clock = Osc::new(pac.OSC, sysclock);
let mut timer = Delay::new(sysclock);
let usb_bus = UsbBus::new(pac.USB);
let mut dfu_runtime = DfuRuntimeClass::new(&usb_bus, Kiffieboot::default());
let mut usb_dev = UsbDeviceBuilder::new(&usb_bus, UsbVidPid(0x16c0, 0x27dd))
    .manufacturer("Some company")
    .product("Some USB device")
    .build();
loop {
    usb_dev.poll(&mut [&mut dfu_runtime]);
    dfu_runtime.tick(1);
    timer.delay_ms(1);
}

示例(直接跳入引导加载程序)

 Kiffieboot::start_bootloader();

示例(从Linux shell使用dfu-util)

dfu-util -R -D my_application.bin

依赖项

~0.2–13MB
~421K SLoC