stm32基于自带bootloader的usb下载

时间:2024-03-21 13:21:52

用的这款stmL476rct6只有boot0,boot1以寄存器的形式存在

默认boot1为低电平,所以只用设置boot0引脚既可以进入usb升级模式

通过判断下图寄存器位可以判断boot1默认电平

stm32基于自带bootloader的usb下载

需要注意的是读出的寄存器位值和实际状态相反,如下图

stm32基于自带bootloader的usb下载

代码用hal库,可以这么查看

FLASH_OBProgramInitTypeDef my_config;     HAL_FLASHEx_OBGetConfig(&my_config);

通过判断my_config中的USERConfig的第24位来判断boot1状态

stm32基于自带bootloader的usb下载

串口发送0x7f时注意有奇偶校验,不是8N1,返回0X79是正常,0X1F异常,bootloader协议见