呃,找到原因了,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.
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吧。
评分
查看全部评分
我是DFU升级完了后,verify提示有错误,再用ST-Link工具连上去查看flash内容的。
dfu error
我使用stm32f7 的USB DFU 也出现了这个问题,DFU下载后校验无法通过,问下具体如何修改Hex文件以保证8字节对齐?先行谢过了。
好久没上论坛,你这个问题解决了吗?