有時候,我們不想讓程序存儲在起始的位置,比如我們有一段bootloader,對應(yīng)的app(應(yīng)用程序)存儲的位置就會有一個偏移地址。
那么,我們?nèi)绾巫尦绦虼鎯υ谥付ǖ钠频刂纺兀?/p>
下面結(jié)合STM32,講述在Keil和IAR開發(fā)環(huán)境中設(shè)置起始地址0x08010000的方法。
1
Keil配置方法
打開工程目標選項:
Project -》 Options for Target -》 Target。
修改目標ROM起始地址。如下圖:
說明:1.勾選的IROM即對應(yīng)的存儲區(qū)域;2.起始地址(Start)和大?。⊿ize)根據(jù)你實際情況進行配置;
1
IAR配置方法
類似方法,進入配置界面:
A.進入配置界面:Pooject -》 Options -》 Linker -》 Config;B.勾選上“Override default”;C.點擊“Edit”,修改ROM起始地址為;D.點擊“Save”保存(第一次修改后,xxx.icf文件名和路徑都選擇默認)。具體如下圖:
3
驗證代碼存儲地址
對于STM32芯片來說,可以直接使用STM32 ST-LINK Utility工具讀取FLASH數(shù)據(jù)驗證代碼是否存儲在相應(yīng)地址位置,其他芯片也可以使用對應(yīng)可以讀取FLASH數(shù)據(jù)的工具來驗證。
如下圖:
從上圖可以看見,代碼是從0x08010000 起始存儲的。查看前面的存儲區(qū)域,可以發(fā)現(xiàn)數(shù)據(jù)全是0xFFFF,也就是說沒有被代碼占用這些扇區(qū)。
原文標題:Keil、IAR改變代碼(程序)存儲地址的方法
文章出處:【微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責任編輯:haq
-
STM32
+關(guān)注
關(guān)注
2290文章
11018瀏覽量
362670 -
keil
+關(guān)注
關(guān)注
69文章
1223瀏覽量
169097
原文標題:Keil、IAR改變代碼(程序)存儲地址的方法
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
在IAR Arm開發(fā)工具鏈中--function_sections編譯選項的使用

從Keil MDK到IAR EWARM:通過工程遷移實現(xiàn)項目資產(chǎn)的更好管理

Keil uVision 5安裝包下載,詳細安裝教程~
Stm32CubeIDE能像Keil一樣指定不同文件下的代碼編譯到不同的FLASH地址嗎?
GD32F103 Keil和IAR pack包
數(shù)據(jù)總線和地址總線的區(qū)別
keil可以讀出單片機的程序嗎
keil軟件怎么運行寫好的程序
怎樣將keil中的程序導(dǎo)出
keil5怎么給ti燒錄程序
Keil中變量不被初始化方法

在ADS54J60中實施外部直流偏移校正塊

評論