在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

FLASH編程與改變程序(代碼) 存儲地址的問題

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-20 14:07 ? 次閱讀

寫在前面 Ⅰ

對于在STM32F2或F4開發的朋友而言,有部分數據需要在內部FLASH編程,程序(代碼)又比較大,資源空間又有限的情況下,代碼默認的存儲地址就可能需要搬移。

為什么是F2或F4系列的芯片呢?因為Main memory扇區(或塊)分布不均勻,看下面FLASH模塊構成:

當然,像STM32F0、F1它們的FLASH數據塊分布均勻,這類芯片就沒必要改變程序存儲地址。

為什么要改變代碼存儲地址 Ⅱ

假如芯片的FALSH大小為512KB,RAM大小為128KB。而代碼大小為400KB(甚至更大),又需要在內部FLASH編程,那么代碼的存儲地址就不能從默認的起始地址(Sector 0)開始存儲。

原因很簡單:最后一扇區有代碼,不能被用戶編程。

還有一種原因:用戶RAM大小有限(假如只剩15K未用,RAM用于緩存FLASH數據),而用戶編程FLASH的數據有20K,這樣就需要分多塊(扇區)來操作,這樣就需要將小的扇區拿出來給用戶編程(即前面16K大小的扇區)。

上面舉例的總結就是:需要將代碼的存儲起始地址從Sector 0搬移至Sector 3或者Sector 4,把前面小扇區(Sector 1 --- 3)用于數據編程。(注意:Sector 0扇區存儲啟動的部分代碼,不能用于編程)。

改變代碼存儲地址的方法 Ⅲ

代碼存儲的地址是由編譯器決定的,因此這里簡單講述一下Keil和IAR如何配置改變代碼存儲起始地址。下面以起始地址從0x08010000 (Sector 4)舉例說明。

1.Keil配置方法

打開工程目標選項:Project -> Options for Target -> Target。修改目標ROM起始地址。如下圖:

2.IAR配置方法

配置步驟分如下幾步:

A.進入配置界面:Pooject -> Options -> Linker -> Config;

B.勾選上“Override default”;

C.點擊“Edit”,修改ROM起始地址為;

D.點擊“Save”保存(第一次修改后,xxx.icf文件名和路徑都選擇默認)。

具體如下圖:

驗證代碼存儲地址 Ⅳ

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

從上圖可以看見,代碼是從0x08010000 (Sector 4)起始存儲的。查看Sector 1-3扇區,可以發現數據全是0xFFFF,也就是說沒有被代碼占用這些扇區。

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

    關注

    10

    文章

    1668

    瀏覽量

    151004
  • 編譯器
    +關注

    關注

    1

    文章

    1656

    瀏覽量

    49898
  • STM32F0
    +關注

    關注

    0

    文章

    61

    瀏覽量

    17388
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    MCU片上Flash

    ? ? MCU片上Flash是微控制器內部集成的非易失性存儲器,主要用于存儲程序代碼、常量數據及系統配置信息。其核心特性與功能如下: 一、定義與類型? 片上
    的頭像 發表于 05-06 14:26 ?199次閱讀

    存儲技術探秘 NAND Flash vs NOR Flash:藏在芯片里的"門道之爭"

    門電路玄機 NOR Flash:Intel 1988 年革命性突破,終結 EPROM/EEPROM 壟斷時代 NAND Flash:東芝 1989 年發布,開創 "低成本比特" 存儲新紀元 共性特征
    的頭像 發表于 03-18 12:06 ?398次閱讀

    Stm32CubeIDE能像Keil一樣指定不同文件下的代碼編譯到不同的FLASH地址嗎?

    Stm32CubeIDE能像Keil一樣指定不同文件下的代碼編譯到不同的FLASH地址嗎?比如部分代碼存放到內部FLASH,另一部分存放到外
    發表于 03-07 08:09

    AN-881: 通過LIN—協議4進行Flash/EE存儲編程

    電子發燒友網站提供《AN-881: 通過LIN—協議4進行Flash/EE存儲編程.pdf》資料免費下載
    發表于 01-14 16:12 ?0次下載
    AN-881: 通過LIN—協議4進行<b class='flag-5'>Flash</b>/EE<b class='flag-5'>存儲</b>器<b class='flag-5'>編程</b>

    【半導體存儲】關于NAND Flash的一些小知識

    。   NOR Flash 讀取速度更快,具備可在芯片內執行程序(XIP)的特點,在傳輸效率、穩定性和可靠性方面更具優勢,通常用于小容量數據存儲,適宜中等容量代碼
    發表于 12-17 17:34

    基于NXP MCXA153 MCU實現RT-Thread的MTD NOR Flash驅動

    在嵌入式系統中,片上Flash存儲器是一個關鍵組件,用于存儲程序代碼和關鍵數據。本文將詳細介紹如何在NXPMCXA153 MCU上實現RT-Thread的MTD (Memory Tec
    的頭像 發表于 11-09 14:00 ?1035次閱讀
    基于NXP MCXA153 MCU實現RT-Thread的MTD NOR <b class='flag-5'>Flash</b>驅動

    使用SD Flash為TMS320C28x器件編程外部非易失性存儲

    電子發燒友網站提供《使用SD Flash為TMS320C28x器件編程外部非易失性存儲器.pdf》資料免費下載
    發表于 10-15 11:48 ?0次下載
    使用SD <b class='flag-5'>Flash</b>為TMS320C28x器件<b class='flag-5'>編程</b>外部非易失性<b class='flag-5'>存儲</b>器

    鐵電存儲器和Flash的區別

    鐵電存儲器(Ferroelectric RAM, FRAM)與閃存(Flash)是兩種不同類型的非易失性存儲器,它們在工作原理、性能特點、應用場景等方面存在顯著的差異。
    的頭像 發表于 09-29 15:25 ?2969次閱讀

    物聯網行業存儲方案詳解_SPI NOR Flash

    SPI NOR FLASH存儲器在初始響應和啟動時提供高可靠性,并具有低時延。這一特性對于物聯網設備至關重要,因為物聯網設備通常需要快速啟動并穩定運行,以確保數據的實時傳輸和處理。 2、直接執行代碼的能力 SPI NOR
    的頭像 發表于 09-24 14:39 ?971次閱讀
    物聯網行業<b class='flag-5'>存儲</b>方案詳解_SPI NOR <b class='flag-5'>Flash</b>

    EEPROM的地址怎么確定

    關于EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲器)的地址確定,涉及多個方面,包括設備地址存儲
    的頭像 發表于 09-05 10:53 ?3411次閱讀

    NAND Flash與其他類型存儲器的區別

    NAND Flash作為一種基于NAND技術的非易失性存儲器,具有多個顯著優點,這些優點使其在數據存儲領域得到了廣泛應用。以下是對NAND Flash優點的詳細闡述,并簡要探討與其他類
    的頭像 發表于 08-20 10:24 ?1222次閱讀

    編程的只讀存儲器是否可以改寫

    不可更改。這與可擦寫可編程只讀存儲器(Erasable Programmable Read-Only Memory,簡稱EPROM)和閃存(Flash Memory)等其他類型的非易失性存儲器不同,后者可以
    的頭像 發表于 08-06 09:25 ?1213次閱讀

    ESP8266的MAC地址是固化在芯片內部還是燒寫在模塊的flash上面的?

    請問:MAC的地址存儲是存放到芯片內部還是說flash上呢?就類似我進行WIFI模塊的flash 全拷貝,是不是兩個模塊的MAC地址是一樣
    發表于 07-19 12:31

    加速科技Flash存儲測試解決方案 全面保障數據存儲可靠性

    Flash存儲芯片? 現代電子設備的核心數據存儲守護者 Flash存儲芯片是一種關鍵的非易失性存儲
    的頭像 發表于 06-26 18:25 ?1215次閱讀
    加速科技<b class='flag-5'>Flash</b><b class='flag-5'>存儲</b>測試解決方案 全面保障數據<b class='flag-5'>存儲</b>可靠性

    ESP32C3通過QSPI flash來片外運行代碼,如果頻繁地存儲錄音音頻數據,會影響程序運行嗎?

    ESP32C3通過QSPI flash 來片外運行代碼,如果頻繁地存儲錄音音頻數據,會影響程序運行嗎?有這個風險嗎?
    發表于 06-20 08:28
    主站蜘蛛池模板: 2017天天操 | 成人在线综合 | 91视频色| 亚洲欧洲一区二区三区在线观看 | 色老头·com 色老头成人免费综合视频 色老头久久久久 | 亚洲人成人网毛片在线播放 | 国产精品久久久久久久免费 | 午夜短视频 | 天天综合在线视频 | 波多野结衣一级毛片 | 日本亚洲精品色婷婷在线影院 | 一级毛片西西人体44rt高清 | 一级毛片在线免费视频 | 欧美video free xxxxx| 久久久久九九精品影院 | 天天摸天天操天天干 | 天天干夜夜做 | 免费视频一区二区性色 | 99久久免费精品国产免费高清 | 亚洲欧美经典 | 青草久 | 国产精品美女一级在线观看 | 噜噜噜 综合 亚洲 | 免费爱爱网站 | 色综合天天干 | 曰本性l交片视频视频 | 国产激情久久久久影院小草 | 久久久免费的精品 | 大学生一级特黄的免费大片视频 | 久久久成人影院 | 天天爽夜夜爽人人爽曰喷水 | 国产精品推荐天天看天天爽 | 亚洲一区二区三区高清视频 | 欧美性狂猛xxxxxbbbbb | 午夜视频免费在线播放 | 国产午夜精品理论片免费观看 | 国内久久精品视频 | 在线观看三级视频 | 黄色短视频免费看 | 亚洲入口无毒网址你懂的 | 免费观看激色视频网站bd |