打印
[信息]

STM32 IAP和Bootloader实战经验合集-1

[复制链接]
82|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
STM新闻官|  楼主 | 2024-12-4 14:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 STM新闻官 于 2024-12-4 15:56 编辑

客户使用 STM32G0B0 在做产品开发时碰到一个问题, 当程序从 BOOT 程序跳转到 APP 时, APP 运行失败. 而 BOOT 程序和 APP 程序单个运行时均能正常. 本文主要是介绍如何追踪并定位问题的方法, 以及所涉及到的工具和文件, 以供开发者参考。
LAT1419_从BOOT跳转到APP后运行失败的问题分析_v1.0.pdf (517.06 KB)

在 STM32G0B1x 的 0x92 版本的 bootloader 中,通过 I2C 接口执行完"Go"命令跳转到应用程序时,会将设备的 DBG_SWEN 位配置为 0,也就是禁用设备的调试能力。如果我们想要恢复调试能力的话,可以在应用程序中添加设置 DBG_SWEN 位为 1 的操作。但是其它型号或者其它版本的 bootloader 执行"Go"命令后,不一定会有这种设置,我们应该具体应用具体分析,详细可以参考 AN2606,AN2606 是 STM32 bootloader 的说明文档。
LAT1400_STM32G0执行I2C_bootloader_Go命令后无法连接问题解析_v1.0.pdf (850.43 KB)

在使用 STM32WB 系列 MCU 时,通过 STM32CubeProgramer GUI 方式更新 FUS,Stack,User APP,需要操作多次,并且要输入不同的地址,比较烦琐,不适合在量产中操作使用。根据 RN0109:STM32CubeProgrammer v2.11.0 release information 描述,在STM32CubeProgrammer v2.11.0 中已经支持通过 CLI 的方式自动更新FUS,STACK,以及User APP。
LAT1238_STM32WB如何一次性烧写FUS STACK APP_V1.0.pdf (401.77 KB)

STM32 的 Bootloader 可以支持多种协议的,比如 USART,I2C,DFU 等等,USART Bootloader 是客户使用 STM32 的时候常常会用到的协议。客户在使用 STM32F745 进行产品开发的时候,出现了使用 STM32CubeProgramer 无法通过 USART1 Bootloader 进行程序升级的问题。为了解决客户的问题,我在 NUCLEO-F746ZG 开发板上,复现了同样的现象,本文针对这个现象,分析了该问题的原因和解决方法,作为一个记录。
LAT1171_STM32F745 USART1 Bootloader 失败原因分析与解决_ZHV1.0.pdf (476.42 KB)

某客户使用我们的STM32G071 MCU,使用CubeProg 工具通过USART 接口烧录程 序后,执行 “Run after programming”并不能如期望般看到NUCLEO-G071 LED 灯的闪烁。
LAT1050 NUCLEO-G071使用CubeProg不能从Boot跳转到用户App _v1.0.pdf (863.76 KB)

本文对双Bank 模式下程序在线升级进行介绍,指出操作中的注意事项。
LAT1097 STM32G474双bank模式下在线升级_v1.0.pdf (356.05 KB)

某客户在应用中需要使用 STM32F765 片上 Bootloader 对用户 Flash 进行升级,结果发现有小批量产品在将 Boot0 拉高并复位 MCU 后,DFU 升级操作失败,PC 也未识别到 STM32 bootloader USB 设备。 用户很奇怪,STM32 启动时 BOOT0 为高不就进入片上 Bootloader?难道 MCU system loader 代码有问题? 本文主要解决这个问题。
MCU无法进入内建Bootloader.pdf (244.3 KB)

客户反馈通过PC软件flashloader 不能够跟STM32 MCU自带bootloader连接,并且系统运行一段时间后异常复位。本文主要解决这个问题。
STM32 Bootloader_abnormal reset.pdf (401.07 KB)

某客户在其产品的设计中,需要使用了STM32F072RBT6。客户在使用过程中,使用System Memory 中的USB DFU 功能对代码进行更新,并直接使用“Leave DFU mode”跑用户代码,进行功能观察。但是,发现STM32F0 在点击“Leave DFU mode”按钮后,用户代码并没有正常工作。本文主要解决这个问题。
User code in STM32F0 cannot work after Leave DFU Mode.pdf (249.25 KB)

STM32提供了灵活的固件加载模式,其中大部分型号支持DFU加载。并且在电脑端,提供了配套的演示软件DfuSe。包含可视化版DfuSeDemo.exe和命令版DfuSeCommand.exe。本文主要介绍DfuSeCommand.exe的使用。
DfuSeCommand的使用.pdf (385.59 KB)

STM32 IAP和Bootloader实战经验合集-2

STM32 IAP和Bootloader实战经验合集-3



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:您的嵌入式应用将得益于意法半导体领先的产品架构、技术、多源产地和全方位支持。意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。

612

主题

799

帖子

18

粉丝