在线观看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

    文章

    1642

    瀏覽量

    148425
  • 編譯器
    +關注

    關注

    1

    文章

    1642

    瀏覽量

    49238
  • STM32F0
    +關注

    關注

    0

    文章

    61

    瀏覽量

    17116
收藏 人收藏

    評論

    相關推薦

    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>

    使用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>器

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

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

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

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

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

    ESP32C3通過QSPI flash 來片外運行代碼,如果頻繁地存儲錄音音頻數據,會影響程序運行嗎?有這個風險嗎?
    發表于 06-20 08:28

    EEPROM與Flash存儲器的區別

    編程只讀存儲器)和Flash存儲器是兩種常見的非易失性存儲器,它們具有各自的特點和應用場景。本文將深入分析和比較EEPROM與Flash
    的頭像 發表于 05-23 16:35 ?6583次閱讀

    求助,關于SPC560D單片機flash代碼分段存儲問題求解

    flash區域,把程序內一些模塊放在不能跳轉的flash區域,但這樣做導致了用戶程序不能運行,請問這樣做為什么不可行?代碼必須連續
    發表于 04-07 08:13

    stm32g030f6p6 flash快速編程總是失敗的原因?

    _INDEX_SIZE; if(end_addr > g_my_flash.flash_end_addr || init==FLASH_ERASER)/*如果如果地址大于存儲
    發表于 04-07 07:32

    Flash存儲芯片:NOR Flash、NAND Flash、UFS和eMMC的比較與解析

      NOR Flash是可編程存儲器的一種,因其具有直接運行應用程序的能力而廣受歡迎,由于存儲容量較小,一般只有幾MB~幾十MB,因此適合
    發表于 04-03 12:05

    Flash存儲芯片:NOR Flash、NAND Flash、UFS和eMMC的比較與解析

    博客將詳細介紹Flash存儲芯片中的NOR Flash、NAND Flash、UFS和eMMC,分析它們的用途、優缺點,并對其進行比較。 1.Nor
    的頭像 發表于 04-03 12:02 ?4643次閱讀
    <b class='flag-5'>Flash</b><b class='flag-5'>存儲</b>芯片:NOR <b class='flag-5'>Flash</b>、NAND <b class='flag-5'>Flash</b>、UFS和eMMC的比較與解析

    什么是NAND 型 Flash 存儲器?

    前言 NAND Flash 和 NOR Flash是現在市場上兩種主要的閃存技術。Intel于1988年首先開發出 NOR Flash 技術,徹底改變了原先由 EPROM 和 EEPR
    的頭像 發表于 03-01 17:08 ?734次閱讀
    什么是NAND 型 <b class='flag-5'>Flash</b> <b class='flag-5'>存儲</b>器?

    CW32L052 FLASH存儲

    CW32L052內部集成了64KB嵌入式FLASH供用戶使用,可用來存儲應用程序和用戶數據。芯片支持對 FLASH 存儲器的讀、擦除和寫操作
    的頭像 發表于 02-28 17:43 ?763次閱讀
    CW32L052 <b class='flag-5'>FLASH</b><b class='flag-5'>存儲</b>器

    瑞薩Flash示例程序01型SC版本(代碼Flash)應用說明

    電子發燒友網站提供《瑞薩Flash示例程序01型SC版本(代碼Flash)應用說明.pdf》資料免費下載
    發表于 02-19 13:48 ?0次下載
    瑞薩<b class='flag-5'>Flash</b>示例<b class='flag-5'>程序</b>01型SC版本(<b class='flag-5'>代碼</b><b class='flag-5'>Flash</b>)應用說明

    stm32 flash寫數據怎么存儲

    stm32 flash寫數據怎么存儲的? STM32是一款廣泛應用于嵌入式系統開發的微控制器,它的Flash存儲器是其中一個重要的組成部分。在本文中,我將詳細介紹STM32
    的頭像 發表于 01-31 15:46 ?2499次閱讀
    主站蜘蛛池模板: 羞羞答答xxdd影院欧美 | 日本高清视频网站www | 国产精品成人一区二区三区 | 色午夜影院 | 分分操免费视频在线观看 | 看大片全色黄大色黄 | 国产色中色 | 国产情侣自拍小视频 | 国产一级特黄老妇女大片免费 | 永久免费看的啪啪网站 | 老逼影院 | 日本特黄特色大片免费播放视频 | 免费人成网站线观看合集 | 午夜日| 狠色网 | 免费国产午夜在线观看 | 日本xxx69hd| 色草视频 | 日本wwww色| 视频在线观看免费播放www | 国模视频在线 | 色伊人久久 | 国产卡一卡2卡三卡免费视频 | 丁香婷婷久久大综合 | 天天槽天天槽天天槽 | 欧美性色xo影院永久禁欲 | 亚洲一区欧美一区 | h在线观看网站 | 亚洲国产精品综合久久网络 | 国产精品不卡片视频免费观看 | 国产一区二区三区在线观看影院 | 天天操天天射天天 | 丁香亚洲综合五月天婷婷 | 日本高清视频色wwwwww色 | 永久在线观看www免费视频 | 午夜黄大色黄大片美女图片 | 国产精品美女久久久久网 | 丁香五月缴情在线 | 啪啪网站色大全免费 | 97国产精品人人爽人人做 | 日本黄色小说视频 |