• 资料介绍
    • 背景
    • 方法
    • 小结
  • 资料预览
  • 相关推荐
申请入驻 产业图谱

LAT1378 STM32CubeIDE 实用技巧之Flash代码填充

03/19 09:45
155
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1378 STM32CubeIDE 实用技巧之Flash代码填充

802.07 KB

背景

在很多时候,程序需要分段存储在 Flash 中,用以存放不同的数据、资源和函数,如此一来,内存就会被切割为多个分块。

不同系列的 STM32,其 Flash 被擦除后的默认值可能为 0x00,也可能为 0xFF,当一些应用中,需要添加 CRC 校验值来确保程序的完整性时,就需要格外注意这一点,当然如果将Flash 分块之间填充上一个固定值,即使在使用不同系列的 STM32 时,CRC 的计算和检验方法就可以保持一致,比较有利于平台化。

方法

如何在 STM32CubeIDE 中实现 Flash 的填充呢,方法有很多,这里列举两项都是直接通过 STM32CubeIDE 来实现的。

方法一:在 www.stmcu.com.cn 上,有一篇文档-“LAT1306 使用 STM32CubeIDE 填充未用 FLASH 区域”,该文档介绍了通过 ld 链接文件的方式来填充 Flash 的方法。

方法二:我这里再告诉大家另外一种快捷的方法,可通过 GCC 的命令来实现。我们作这样的一个小测试,在 STM32G70RBT6 的 FLASH 的结尾处,存放一个 864 字节的 CheckSUM。然后通过 GCC 命令,将程序的结尾和 CheckSUM 之间的空白 flash 填充固定的值。

小结

通过上述比较可以看出,这种通过 GCC 命令来填充 Flash 的方式是非常容易实施的。希望这个方法可以给正在使用 STM32CubeIDE 的客户提供一个参考。

资料预览

点赞
收藏
评论
分享
加入交流群
举报

相关推荐

方案定制

去合作
方案开发定制化,2000+方案商即时响应!