Rust 嵌入式 Embedded-HAL 提供了跨平台的硬件驱动,所以我们如果用 Rust 实现 Serprog 就可以一套代码运行在不同单片机上,避免了 C 嵌入式的碎片化问题。Serprog 需要用到的硬件主要有 UART,SPI 和 Delay,都是 Embedded-HAL 已经定义好的。
这个视频我以 STM32F103C8T6 Bluepill 开发板为例,后面会介绍怎么移植到其他开发板。
GitHub 项目源码:
https://github.com/wuhanstudio/serprog-rs
Rust 嵌入式开发合集:
https://www.youtube.com/playlist?list=PLlRCv8NaDaU-u1tqvVryAp9ZTb7rS_10Y
Rust 嵌入式系统合集:
https://www.youtube.com/playlist?list=PLlRCv8NaDaU8XxW7s7M4qfnb-dzwu5Qs9
Rust 嵌入式应用合集 (Flashrom):
https://www.youtube.com/playlist?list=PLlRCv8NaDaU-9cRo0iby0Dn9T0JkrXiNH
00:00 引言
03:45 STM32 创建项目
06:34 USB 串口初始化
12:14 SPI 初始化
16:20 Serprog 协议
21:38 总结