ST意法半导体
直播中

李莉

7年用户 1387经验值
私信 关注
[问答]

BIN文件与FLASH内容不匹配的问题如何解决?

我正在使用 STM32F405,不确定我是否在正确的地方提问,或者它是否重要......我正在为 CRC FLASH 进行自检(不能使用库,只能使用基本代码)。我注意到,对于非优化代码,生成的 BIN 文件与 FLASH 匹配,但对于优化代码则不匹配。具体来说:
1) 在这两种情况下,BIN 文件和 FLASH 直到 BIN 文件的末尾(大小)都是相同的。
2)在非优化的情况下,剩余的FLASH为空(假设在编程之前擦除)。因此,为了在 PC 端(通过 BIN 文件)生成正确的 CRC,我只是用 0xFF 字节填充 BIN 文件,直到 FLASH 大小。
3)在优化的情况下,剩余的FLASH(原BIN的past end)里面有额外的数据。
这是预期的吗?谁能解释这些额外字节的作用?或者提供有关该主题的一些阅读材料的链接?我可以解决这个问题,在我的例子中,只要从闪存中读取 BIN 内容就停止 CRC 检查,但不希望外部要求 BIN 文件大小。BIN 映像中是否有任何可以在运行时解析出的暗示原始 BIN 大小的内容?
作为参考,我正在使用 SystemWorkbench、GCC/G++、-O2 优化。
提前致谢!









回帖(1)

徐珺

2023-1-29 10:53:25
更新:问题已解决。抱歉:我的工具实际上并没有像我想的那样擦除 FLASH,因此观察到的数据只是从以前的图像中遗留下来的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分