原创 STM32无法进入片上 Bootloader处理方法

2022-1-12 17:00 2408 8 8 分类: MCU/ 嵌入式
某工程师在应用中需要使用STM32F765片上Bootloader对用户Flash进行升级,结果发现有小批量产品在将Boot0拉高并复位MCU后,DFU升级操作失败,PC也未识别到STM32 bootloader USB设备。
工程师很奇怪,STM32启动时BOOT0为高不就进入片上Bootloader?难道MCU system loader代码有问题?
调研
分析MCU VDD,NRST,BOOT0在上电时的波形,未发现异常。
读取Option Byte并和正常MCU对比,发现两片MCU的启动地址有差异:

分析
部分STM32系列通过BOOT0/BOOT1引脚(或Option Byte)设定MCU从System Memory(Bootloader)或SRAM,还是User Flash启动,但对于STM32F7xx系列的单片机, Option Byte中保存了两个地址,BOOT0决定了从两个地址中的哪个启动,这和其他部分STM32产品是有区别的。
处理
将两个启动地址改为默认值,将BOOT0拉高并上电,插入USB线,PC提示找到STM32 Bootloader usb设备,通过DFU升级成功。 

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条