91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

strongerHuang ? 來(lái)源:strongerHuang ? 作者:strongerHuang ? 2021-04-02 11:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有時(shí)候,我們不想讓程序存儲(chǔ)在起始的位置,比如我們有一段bootloader,對(duì)應(yīng)的app(應(yīng)用程序)存儲(chǔ)的位置就會(huì)有一個(gè)偏移地址。

那么,我們?nèi)绾巫尦绦虼鎯?chǔ)在指定的偏移地址呢?

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

1

Keil配置方法

打開工程目標(biāo)選項(xiàng):

Project -》 Options for Target -》 Target。

修改目標(biāo)ROM起始地址。如下圖:

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

說(shuō)明:1.勾選的IROM即對(duì)應(yīng)的存儲(chǔ)區(qū)域;2.起始地址(Start)和大?。⊿ize)根據(jù)你實(shí)際情況進(jìn)行配置;

1

IAR配置方法

類似方法,進(jìn)入配置界面:

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

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

3

驗(yàn)證代碼存儲(chǔ)地址

對(duì)于STM32芯片來(lái)說(shuō),可以直接使用STM32 ST-LINK Utility工具讀取FLASH數(shù)據(jù)驗(yàn)證代碼是否存儲(chǔ)在相應(yīng)地址位置,其他芯片也可以使用對(duì)應(yīng)可以讀取FLASH數(shù)據(jù)的工具來(lái)驗(yàn)證。

如下圖:

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

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

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

文章出處:【微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    2309

    文章

    11162

    瀏覽量

    373474
  • keil
    +關(guān)注

    關(guān)注

    69

    文章

    1230

    瀏覽量

    172649

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

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    LAT1185+一個(gè)地址未對(duì)齊引起的 HardFault 異常應(yīng)用筆記

    客戶使用 STM32G070 的時(shí)候,KEIL MDK 為編譯工具,當(dāng)編譯優(yōu)化選項(xiàng)設(shè)置為L(zhǎng)evel0 的時(shí)候,程序會(huì)出現(xiàn) Hard Fault 異常,而當(dāng)編譯優(yōu)化選項(xiàng)設(shè)置為 Level1 的時(shí)候
    發(fā)表于 01-11 17:28 ?0次下載

    Keil如何調(diào)試程序變量的值變化呢?

    Keil,如何調(diào)試程序變量的值變化呢
    發(fā)表于 12-22 16:16

    飛凌嵌入式ElfBoard-文件I/O的深入學(xué)習(xí)之存儲(chǔ)映射I/O

    ,假定系統(tǒng)頁(yè)大小為1000字節(jié),那么剩余的900字節(jié)全部填充為0,雖然可以通過(guò)映射地址訪問剩余的這些字節(jié)數(shù)據(jù),但不能在映射文件反應(yīng)出來(lái),由此可知,使用存儲(chǔ)映射I/O進(jìn)行大數(shù)據(jù)量操作
    發(fā)表于 12-06 16:39

    Keil5查看棧大小

    為需要的大小,然后保存并重新編譯工程,新的棧大小即可生效。 2、查看.map文件: 方法說(shuō)明:Keil MDK編譯工程后,會(huì)生成一個(gè).map文件,該文件包含了內(nèi)存分配和使用的詳細(xì)信息。 操作步驟
    發(fā)表于 11-14 06:32

    請(qǐng)問e203定義的地址空間是虛擬地址還是物理地址

    蜂鳥e203實(shí)現(xiàn)的是物理地址,硬件端與軟件端的地址分配相同,從而確定軟件開發(fā)過(guò)程能操作底層寄存器。 硬件端:總線分發(fā)模塊sirv_icb1to16_bus定義好各個(gè)端口寄存器的
    發(fā)表于 11-11 06:20

    編譯器如何指定代碼的地址段?

    官方 gcc 的基礎(chǔ)上添加了自定義指令,目前可以正確編譯出匯編代碼,但是我該如何指定匯編結(jié)果的地址段,生成的代碼符合蜂鳥的地址分配呢?
    發(fā)表于 11-10 06:06

    N76E0003調(diào)試器驅(qū)動(dòng)程序keil失敗了的原因?

    N76E0003調(diào)試器驅(qū)動(dòng)程序 keil 失敗
    發(fā)表于 08-25 07:20

    Keil / IAR 開發(fā)環(huán)境下的 Debug 模式下,用戶是否可以空閑 ru 期間立即添加新的斷點(diǎn)?

    Keil / IAR 開發(fā)環(huán)境下的 Debug 模式下,用戶是否可以空閑 ru 期間立即添加新的斷點(diǎn)
    發(fā)表于 08-21 07:56

    請(qǐng)問如何在 Keil μVision 或 IAR EWARM 中使用觀察點(diǎn)進(jìn)行調(diào)試?

    如何在 Keil μVision 或 IAR EWARM 中使用觀察點(diǎn)進(jìn)行調(diào)試?
    發(fā)表于 08-20 06:29

    AD7745使用,需要進(jìn)行偏移校準(zhǔn)和系統(tǒng)校準(zhǔn)嗎?

    ①AD7745使用,需要進(jìn)行偏移校準(zhǔn)和系統(tǒng)校準(zhǔn)嗎,規(guī)格書上面有描述,但不確定是否需要校準(zhǔn),目前是差分測(cè)量電容,能提供一份校準(zhǔn)示例代碼嗎,謝謝。 ②貴司是否有AD7745寄存器配置示例代碼,如果有
    發(fā)表于 06-17 06:22

    IAR Arm開發(fā)工具鏈--function_sections編譯選項(xiàng)的使用

    本文主要介紹IAR Arm開發(fā)工具鏈不修改源代碼的情況下使用??function_sections編譯選項(xiàng)把函數(shù)放到單獨(dú)的section。
    的頭像 發(fā)表于 06-13 13:53 ?1795次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>IAR</b> Arm開發(fā)工具鏈<b class='flag-5'>中</b>--function_sections編譯選項(xiàng)的使用

    CUEBIDE生成的APP程序寫入FLASH之后無(wú)法正常跳轉(zhuǎn)怎么解決?

    實(shí)現(xiàn)IAP的功能,使用CUEBIDE生成的APP程序的bin文件,寫入到FLASH之后,無(wú)法正常跳轉(zhuǎn)。 程序卡在/ 檢查棧頂地址是否合法 / 但是用KEIL生成的bin文件寫入后可以正
    發(fā)表于 06-09 06:43

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

    對(duì)于需要統(tǒng)一開發(fā)環(huán)境或涉及多核架構(gòu)(如Cortex-A/R)的項(xiàng)目,越來(lái)越多的用戶選擇從Keil MDK遷移到IAR EWARM。這就會(huì)面臨著需要將之前的Keil MDK工程遷移到IAR
    的頭像 發(fā)表于 05-08 09:03 ?1295次閱讀
    從<b class='flag-5'>Keil</b> MDK到<b class='flag-5'>IAR</b> EWARM:通過(guò)工程遷移實(shí)現(xiàn)項(xiàng)目資產(chǎn)的更好管理

    開發(fā)5744的Bootloader時(shí),為flashdriverram中指定了一塊的空間?

    你好,我開發(fā)5744的Bootloader時(shí),為flashdriverram中指定了一塊的空間,我想要將flashdriver放在這塊地址
    發(fā)表于 04-02 07:07

    Keil uVision 5安裝包下載,詳細(xì)安裝教程~

    Simulator\",IARDebugger→Setup→Driver中指定第三方驅(qū)動(dòng)Vdmcspy.dll。 點(diǎn)擊IDE的Debug進(jìn)入聯(lián)合仿真模式。 ADS工程可通過(guò)少量修改遷移至
    發(fā)表于 03-15 12:10