stm32基于自带bootloader的usb下载
用的这款stmL476rct6只有boot0,boot1以寄存器的形式存在
默认boot1为低电平,所以只用设置boot0引脚既可以进入usb升级模式
通过判断下图寄存器位可以判断boot1默认电平
需要注意的是读出的寄存器位值和实际状态相反,如下图
代码用hal库,可以这么查看
FLASH_OBProgramInitTypeDef my_config; HAL_FLASHEx_OBGetConfig(&my_config);
通过判断my_config中的USERConfig的第24位来判断boot1状态
串口发送0x7f时注意有奇偶校验,不是8N1,返回0X79是正常,0X1F异常,bootloader协议见