一、STM32启动过程
STM32 启动时会在 SYSCLK 的第4个电平的上升沿,根据BOOT引脚的电平进入相应的启动方式。BOOT引脚有两个,分别是 BOOT0 和 BOOT1。详细:https://blog.csdn.net/yangzhao0001/article/details/51943218
在键盘制作中的使用:
-
BOOT0 = 1 , BOOT1 = 0 进入出厂预设的 bootloader,这个是内置ISP程序。使用 ST-link 刷 Bootloader 就是在这个状态。
-
BOOT0 = 1 , BOOT1 = 1 用于调试,一般不用。
- BOOT0 = 0 , BOOT1 = Any 进入主程序,也就是我们的键盘固件。
所以,一般刷完 Bootloader,就可以将 BOOT0 用一个 100K 电阻下拉到 GND 了。不加下拉,不稳。
二、Bootloader 刷入工具
硬件:st-link v2 淘宝 10 元的山寨货就行。(我在 windows 2003 下驱动没装成功) 工具:Archlinux:stlink (启动命令:stlink-gui) Tips:BOOT0 = 1 BOOT1 = 0
三、Bootloader 程序
Github: stm32-hid-bootloader
四、向键盘写入固件
Github: stm32-hid-bootloader-cli