0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Keil、IAR中如何讓程序存儲在指定的偏移地址?

strongerHuang ? 來源:strongerHuang ? 作者:strongerHuang ? 2021-04-02 11:10 ? 次閱讀

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

那么,我們?nèi)绾巫尦绦虼鎯υ谥付ǖ钠频刂纺兀?/p>

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

1

Keil配置方法

打開工程目標選項:

Project -》 Options for Target -》 Target。

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

5691fd5c-92ed-11eb-8b86-12bb97331649.png

說明:1.勾選的IROM即對應的存儲區(qū)域;2.起始地址(Start)和大?。⊿ize)根據(jù)你實際情況進行配置;

1

IAR配置方法

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

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

56bec436-92ed-11eb-8b86-12bb97331649.png

3

驗證代碼存儲地址

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

如下圖:

56dda1f8-92ed-11eb-8b86-12bb97331649.png

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

原文標題:Keil、IAR改變代碼(程序)存儲地址的方法

文章出處:【微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2264

    文章

    10854

    瀏覽量

    354298
  • keil
    +關注

    關注

    68

    文章

    1210

    瀏覽量

    166580

原文標題:Keil、IAR改變代碼(程序)存儲地址的方法

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    GD32F103 KeilIAR pack包

    電子發(fā)燒友網(wǎng)站提供《GD32F103 KeilIAR pack包.rar》資料免費下載
    發(fā)表于 10-15 17:25 ?5次下載

    keil軟件怎么運行寫好的程序

    軟件的安裝包,然后按照安裝向導進行安裝。安裝完成后,啟動Keil軟件。 創(chuàng)建項目 Keil軟件,需要創(chuàng)建一個新的項目來存放編寫的程序。點
    的頭像 發(fā)表于 09-02 10:29 ?1327次閱讀

    怎樣將keil程序導出

    1. 準備工作 開始導出程序之前,需要確保已經(jīng)完成了以下準備工作: 安裝Keil MDK-ARM軟件。 創(chuàng)建一個新的項目,并添加所需的源文件和庫文件。 配置項目設置,包括芯片型號、編譯器選項、鏈接
    的頭像 發(fā)表于 09-02 10:23 ?922次閱讀

    如何在esp32的程序體中指定一個變量的絕對地址,或者相對于程序地址的一個固定偏移位置?

    請問一下如何在esp32的程序體中指定一個變量的絕對地址,或者相對于程序地址的一個固定偏移位置
    發(fā)表于 06-21 08:12

    請問如何編寫.bin程序使用IAR或GreenHill將文件存儲到外部存儲?

    你好, 我們使用帶有 CYT4DN 和 S25HS 外部存儲器的自定義COOLDIM_PRG_BOARD 。 我們正在嘗試閃存 .bin 圖像 文件到外部存儲。 因此,我想知道 IAR
    發(fā)表于 05-15 07:22

    存儲芯片是什么樣存儲信息的

    存儲信息時,對于動態(tài)存儲器,行地址首先將RAS鎖存于芯片中,然后列地址將CAS鎖存于芯片中,當WE有效時,寫入數(shù)據(jù)則被
    的頭像 發(fā)表于 03-29 15:32 ?2806次閱讀
    <b class='flag-5'>存儲</b>芯片是什么樣<b class='flag-5'>存儲</b>信息的

    STM32HIAR如何實現(xiàn)從FLASH加載到SRAM運行程序?

    如題,STM32H IAR如何實現(xiàn)從FLASH加載到SRAM運行程序 有沒有相關的例程可供參考
    發(fā)表于 03-28 07:46

    TC277如何指定該全局數(shù)組變量的存儲地址的對齊方式?

    定義全局數(shù)組變量,如何指定該全局數(shù)組變量的存儲地址的對齊方式
    發(fā)表于 02-19 07:37

    程序的R地址都是什么意思?怎么樣才能看懂?

    程序的R地址都是什么意思?怎么樣才能看懂? 程序,R
    的頭像 發(fā)表于 02-18 10:49 ?989次閱讀

    keilGD32 MCU IAPAPP的存儲地址如何設置?

    前面和大家聊過什么是IAP(有不懂的小伙伴請看下前面的視頻哦),那么IAPAPP的存儲地址該如何設置呢?
    的頭像 發(fā)表于 01-29 09:37 ?978次閱讀
    <b class='flag-5'>keil</b><b class='flag-5'>中</b>GD32 MCU IAP<b class='flag-5'>中</b>APP的<b class='flag-5'>存儲</b><b class='flag-5'>地址</b>如何設置?

    CAD偏移命令怎么用 cad怎么偏移一條線指定距離

    CAD偏移命令是CAD軟件的一項基本功能,它可以用于繪圖中復制和移動幾何形狀,具體操作方式如下: 打開CAD軟件,并創(chuàng)建一個新的繪圖文件。 工具欄或菜單欄上找到“
    的頭像 發(fā)表于 01-25 10:32 ?3476次閱讀

    為什么無法將數(shù)據(jù)放入指定地址?

    如下圖所示,部分在 lsl 文件定義,變量.c 文件定義。 該變量通過 #pragma 部分指定存儲位置,但該變量不在.map 文件
    發(fā)表于 01-25 07:42

    KEIL中使用C對M0編程時怎樣對函數(shù)指定地址呢?

    KEIL中使用C對M0編程時怎樣對函數(shù)指定地址呢?對變量和常數(shù)的定位沒問題,就是函數(shù)總搞不好。謝謝。
    發(fā)表于 01-18 07:14

    IAR Embedded Workbench中計算多個地址區(qū)間的Checksum

    在前面的文章“使用IAR Embedded Workbench和MCU的CRC模塊來檢查代碼的完整性”中介紹了如何在IAR Embedded Workbench配置生成對應代碼區(qū)域的CRC校驗碼
    的頭像 發(fā)表于 01-05 12:33 ?1409次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>IAR</b> Embedded Workbench中計算多個<b class='flag-5'>地址</b>區(qū)間的Checksum

    實戰(zhàn)經(jīng)驗 | Keil、IAR、CubeIDE 變量不被初始化方法

    關鍵詞:不被初始化,編譯環(huán)境 目錄預覽 1、前言 2、IAR 實現(xiàn)變量不初始化方法 3、Keil 實現(xiàn)變量不被初始化方法 4、CubeIDE 實現(xiàn)變量不初始化方法 01 前言 有些時候我們的應用過程
    的頭像 發(fā)表于 11-24 18:05 ?3751次閱讀