你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F0 使用 DFU 升级后 Leave DFU Mode 不能运行用户代码

[复制链接]
STMCU小助手 发布时间:2022-7-30 22:36
前言
很多 STM32 的 System Memory 中所带的 Bootloader 都支持 USB DFU 功能,可以使用 USB 更新代码,详见《AN2606:STM32™ 微控制器系统存储器自举模式》。

问题
某客户在其产品的设计中,需要使用了 STM32F072RBT6。客户在使用过程中,使用 System Memory 中的 USB DFU 功能对代码进行更新,并直接使用“Leave DFU mode”跑用户代码,进行功能观察。但是,发现 STM32F0 在点击“Leave DFU mode”按钮后,用户代码并没有正常工作,这是为什么呢?


调研
1.了解问题
客户使用了 STM32F072B-Discovery 板进行调试的。在使用\STM32F072BDiscovery_FW_V1.0.1\Projects\Peripheral_Examples\TIM_TimeBase 例程进行测试,先使用 IAR 将此例程进行编译,生成TIM_TimeBase.hex 文件。使用 STM32 ST-Link Utility 软件进行烧写,烧写后可见 Discovery 板上 4 个 LED 灯在闪烁,确认例程及 hex 文件的正确性。
使用 Dfu file manager 软件将 TIM_TimeBase.hex 文件生成 TIM_TimeBase.dfu 文件。将 STM32F072 的 Boot0 引脚拉高,对芯片进行复位,进入 System Memory 运行 Bootloader,使用 Mini USB 线连接 USB USER 口(CN2)和 PC,打开 Dfuse Demo 软件,可发现 STM32F072 已经进入 DFU mode,如下:

_W]{]U_~]}`(856`(~0GU[2.png

点击右下的“Choose”按钮选择 TIM_TimeBase.dfu,勾选“Verify after download”后点击“Upgrade”进行代码烧写,烧写成功后,点击“Leave DFU mode”离开 DFU 模式,发现 Discovery 板确实没有任何变化,4 个 LED 灯并没有闪烁,也就是说,用户代码没有正常运行。
但是客户使用 STM32F4-Discovery 板进行测试的时候,使用\STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\TIM_TimeBase 例程,点击“Leave DFU mode”离开 DFU 模式后却可以正常运行程序。

完整版请查看:附件





User code in STM32F0 cannot work after Leave DFU Mode.pdf

下载

249.25 KB, 下载次数: 0

收藏 评论0 发布时间:2022-7-30 22:36

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版