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

DFU更新程序失败

[复制链接]
xuchungang 提问时间:2016-9-6 17:08 /
Hi,
最近碰到个问题,用MCU自带的bootloader升级程序的时候发现程序没有全部更新到flash上,从图上看到数据只到0x0800A807就完了,但实际的程序后面还有不少,最终应该到0x0800AC03.

有谁知道原因吗?我用的是STM32L486芯片。

谢谢!

flash_memory

flash_memory
收藏 1 评论12 发布时间:2016-9-6 17:08

举报

12个回答
xuchungang 回答时间:2016-9-7 12:53:28
呃,找到原因了,AN2606里有如下一段话:
For memory write operations using DFU interface:
If the buffer size is larger than 256 bytes and not
multiple of 8 bytes, the write memory operation
result is corrupted.
Workaround: if the file size is larger than 256
bytes, add byte padding to align it on 8-bytes
multiple size.
Write in SRAM is corrupted.

手动修改HEX文件保证数据是8字节对齐后,再转DFU文件,升级就成功了。应该是L4芯片bootloader的局限或bug吧。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 很给力!

查看全部评分

chifen 回答时间:2016-9-7 09:03:37
自带bootloader程序会加密部分内容,你如果用ISP下载应该不给看才对
xuchungang 回答时间:2016-9-7 09:29:27
chifen 发表于 2016-9-7 09:03
自带bootloader程序会加密部分内容,你如果用ISP下载应该不给看才对

我是DFU升级完了后,verify提示有错误,再用ST-Link工具连上去查看flash内容的。
chifen 回答时间:2016-9-8 15:28:04
USB口的硬件有没有问题
Kevin887766 回答时间:2016-10-11 18:37:05
本帖最后由 Kevin887766 于 2016-10-11 19:03 编辑
xuchungang 发表于 2016-9-7 12:53
呃,找到原因了,AN2606里有如下一段话:
For memory write operations using DFU interface:
If the buffe ...

dfu error

dfu error

我使用stm32f7 的USB DFU 也出现了这个问题,DFU下载后校验无法通过,问下具体如何修改Hex文件以保证8字节对齐?先行谢过了。
ynwscfsfi 回答时间:2016-10-11 20:58:11
没用过这..帮顶
xuchungang 回答时间:2016-12-12 10:33:15
Kevin887766 发表于 2016-10-11 18:37
我使用stm32f7 的USB DFU 也出现了这个问题,DFU下载后校验无法通过,问下具体如何修改Hex文件以保证8字 ...

好久没上论坛,你这个问题解决了吗?
五哥1 回答时间:2016-12-31 02:43:44
这个在F401CC上用过木有问题呀
海迹天涯 回答时间:2016-12-31 11:12:54
给你顶起
12下一页

所属标签

相似问题

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