
前言 某客户在应用中需要使用 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 升级成功。 完整版请查看:附件 |
MCU无法进入内建Bootloader.pdf
下载244.3 KB, 下载次数: 1
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南