精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

    文章

    1622

    瀏覽量

    147761
  • 編譯器
    +關注

    關注

    1

    文章

    1618

    瀏覽量

    49054
  • STM32F0
    +關注

    關注

    0

    文章

    61

    瀏覽量

    17092
收藏 人收藏

    評論

    相關推薦

    使用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 ?232次閱讀
    物聯網行業<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 ?1211次閱讀

    EEPROM與Flash存儲器的區別

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

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

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

    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 ?4174次閱讀
    <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的比較與解析

    CW32L052 FLASH存儲

    CW32L052內部集成了64KB嵌入式FLASH供用戶使用,可用來存儲應用程序和用戶數據。芯片支持對 FLASH 存儲器的讀、擦除和寫操作
    的頭像 發表于 02-28 17:43 ?698次閱讀
    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 ?2268次閱讀

    能否不使用ITCM就對Flash進行編程呢?

    到0x8000_0000的地址,執行搬移到ITCM當中的指令,指令會通過sw指令將程序固化到外部Flash上,對應的QSPI0的地址為0x10014060(TX_FIFO寄存器),執行
    發表于 01-10 07:28

    fpga配置flash怎么用來存儲數據

    FPGA(現場可編程門陣列)是一種高度靈活的硬件設備,可以根據特定的需求進行重新配置。FPGA通常用于處理大量數據和實時計算。然而,FPGA通常并沒有內置大容量的數據存儲器,例如硬盤或固態硬盤。這就
    的頭像 發表于 12-15 15:42 ?2354次閱讀

    Nor Flash編程和擦除操作的詳細流程

    Nor Flash 中的編程和擦除操作涉及寫入數據和擦除存儲單元的特定步驟。
    的頭像 發表于 12-05 15:19 ?1350次閱讀

    Nor Flash編程和擦除操作實踐與指南

    閃存編程也不涉及將數據寫入存儲單元,為確保準確編程,Nor Flash 支持字節級編程,允許寫入或修改單個字節,而無需擦除整個塊。
    的頭像 發表于 12-05 14:03 ?2180次閱讀

    Nor Flash的基本概念 Nor Flash的內部結構解析

    Nor Flash是一種非易失性存儲技術,用于存儲數據和代碼。它是一種閃存存儲器,類似于NAND Fla
    的頭像 發表于 12-05 13:57 ?3165次閱讀