工程师很奇怪,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升级成功。
找国产替代芯片,上道合顺大数据