• 正文
  • 相關推薦
申請入駐 產業(yè)圖譜

Keil、IAR改變代碼(程序)存儲地址的方法

2024/03/31
1.5萬
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

有時候,我們不想讓程序存儲在起始的位置,比如我們有一段bootloader,對應的app(應用程序)存儲的位置就會有一個偏移地址。

那么,我們如何讓程序存儲在指定的偏移地址呢?

下面結合STM32,講述在Keil和IAR開發(fā)環(huán)境中設置起始地址0x08010000的方法。

Keil配置方法

打開工程目標選項:

Project -> Options for Target -> Target。

修改目標ROM起始地址。如下圖:

 

說明:

1.勾選的IROM即對應的存儲區(qū)域;

2.起始地址(Start)和大?。⊿ize)根據你實際情況進行配置;

IAR配置方法

類似方法,進入配置界面:

A.進入配置界面:Pooject -> Options -> Linker -> Config;B.勾選上“Override default”;C.點擊“Edit”,修改ROM起始地址為;D.點擊“Save”保存(第一次修改后,xxx.icf文件名和路徑都選擇默認)。具體如下圖:

驗證代碼存儲地址

對于STM32芯片來說,可以直接使用STM32 ST-LINK Utility工具讀取FLASH數據驗證代碼是否存儲在相應地址位置,其他芯片也可以使用對應可以讀取FLASH數據的工具來驗證。

如下圖:

從上圖可以看見,代碼是從0x08010000 起始存儲的。查看前面的存儲區(qū)域,可以發(fā)現數據全是0xFFFF,也就是說沒有被代碼占用這些扇區(qū)。

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

作者黃工,從事嵌入式軟件開發(fā)工作8年有余,高級嵌入式軟件工程師,業(yè)余維護公眾號『strongerHuang』,分享嵌入式軟硬件、單片機、物聯網等內容。