1 个不稳定版本
0.1.0 | 2023年6月30日 |
---|
#1584 in 硬件支持
7KB
为Kitieboot kb3k引导加载程序提供运行时支持,包括USB接口
此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