如何用 stm32 做客制化键盘(简要备忘)

Posted

一、STM32启动过程

STM32 启动时会在 SYSCLK 的第4个电平的上升沿,根据BOOT引脚的电平进入相应的启动方式。BOOT引脚有两个,分别是 BOOT0 和 BOOT1。详细:https://blog.csdn.net/yangzhao0001/article/details/51943218

在键盘制作中的使用:

  1. BOOT0 = 1 , BOOT1 = 0 进入出厂预设的 bootloader,这个是内置ISP程序。使用 ST-link 刷 Bootloader 就是在这个状态。

  2. BOOT0 = 1 , BOOT1 = 1 用于调试,一般不用。

  3. 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

-EOF-