• 資料介紹
    • 背景
    • 方法
    • 小結
  • 資料預覽
  • 相關推薦
申請入駐 產業(yè)圖譜

LAT1378 STM32CubeIDE 實用技巧之Flash代碼填充

03/19 09:45
939
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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 區(qū)域”,該文檔介紹了通過 ld 鏈接文件的方式來填充 Flash 的方法。

方法二:我這里再告訴大家另外一種快捷的方法,可通過 GCC 的命令來實現。我們作這樣的一個小測試,在 STM32G70RBT6 的 FLASH 的結尾處,存放一個 864 字節(jié)的 CheckSUM。然后通過 GCC 命令,將程序的結尾和 CheckSUM 之間的空白 flash 填充固定的值。

小結

通過上述比較可以看出,這種通過 GCC 命令來填充 Flash 的方式是非常容易實施的。希望這個方法可以給正在使用 STM32CubeIDE 的客戶提供一個參考。

資料預覽

相關推薦