一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

處理器的Flash空間分配

CHANBAEK ? 來源:頭條號科G棧 ? 作者:頭條號科G棧 ? 2023-03-23 10:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在一個實際的項目中,F(xiàn)lash的使用會進行專門的安排,分成不同的區(qū)域供不同的目的使用。最常見的是分成bootloader區(qū)和主程序區(qū)。對于有些需要在掉電后保存數(shù)據(jù)的,還會分配一段區(qū)域保存這些重要的數(shù)據(jù),這一塊兒我們就叫它eeprom吧。

通常bootloader會放在flash最開始的地方,eeprom放在flash最后,具體大小需要根據(jù)實際的項目需要分配。

poYBAGQbtRCAP8u9AABZAwojrrY456.jpg

這種情況下需要對鏈接文件進行修改,主要是改一下main app的起始地址,否則默認情況下都是存放在flash最開始的地方,main app就會把bootloader覆蓋掉。

linux下,后綴為ld的就是鏈接文件,它里邊有這么一段內(nèi)容:

poYBAGQbtRGASrRCAABxQ4AKZ9c935.jpg

MEMORY就是用來給系統(tǒng)分配存儲空間的,包括RAM、FLASH、外部存儲等等。上圖中是main app的分配情況。這個示例中,flash的起始地址是0x08000000,給bootloader留了4k(0x1000)的空間,所以main app的起始地址ORIGIN就是0x08001000,長度的話32k減去4k剩下27k。這樣在鏈接的時候就以0x08001000為基準往后安排。

另外還有一種情況需要在鏈接文件中修改。我們在開發(fā)的時候有時候想要某些特定的數(shù)據(jù)或代碼保存在特定的flash地址處,這個時候就可以通過在鏈接文件中添加這個特定的段空間來搞定。比如下面的例子

pYYBAGQbtRKAZiu7AADBPXFRF3c982.jpg

它在main app的最開始存放向量表,之后存放軟件版本信息,接下來才是代碼段。

分配好空間后,需要給自定義的段起一個名字,以便在程序中調(diào)用。

pYYBAGQbtROAWkEQAACeboKz1Fw846.jpg

關(guān)鍵字SECTIONS下就是各個數(shù)據(jù)段的具體分配情況,段名.isr_vector指定的內(nèi)容放在FLASH_VECTAB下,.firmware_info指定的內(nèi)容放在FLASH_VERSION下。在KEEP后括號內(nèi)的名稱就是代碼中用來指定的段名。具體使用方法如下:

匯編

poYBAGQbtRSAEW9vAAAH_nJXhhc603.jpg

這個很少用到,除非你用匯編寫代碼。

C:

poYBAGQbtRWAAPLlAAATwEKVvfo320.jpg

通過上面的操作,就可以把指定的數(shù)據(jù)放到flash特定的地方。

?。。。翰煌木幾g器實現(xiàn)的細節(jié)和用到的關(guān)鍵字不一樣,需要查看其具體的幫助手冊。

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

    關(guān)注

    68

    文章

    19885

    瀏覽量

    235084
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1678

    瀏覽量

    151761
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11509

    瀏覽量

    213722
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1662

    瀏覽量

    50203
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    239

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    S3C2410處理器與Nand flash 的問題

    一個64M Nand flash存儲與S3C2410處理器的Nand flash相應接口連接,請問這個64M存儲空間是否屬于8個bank中
    發(fā)表于 11-20 21:41

    Intel SkyLake處理器平臺的功率調(diào)節(jié)、分配和定序方案

    描述TI 經(jīng)過優(yōu)化的解決方案可實現(xiàn)功率調(diào)節(jié)、分配和定序,適用于 Intel SkyLake? 處理器平臺。通過采用高效直流/直流開關(guān)穩(wěn)壓和集成負載開關(guān),該設(shè)計展示了它可調(diào)節(jié) 4 個獨特的電源軌并
    發(fā)表于 12-14 15:13

    兩核程序空間分配問題如何解決

    各位好,28377D的兩核程序單獨編譯,那么如何才能保證不會引起程序空間分配沖突呢?此外,CPU1進行了FLASH初始化,CPU2還需進行FLASH初始化的過程嗎?(TI
    發(fā)表于 07-17 11:47

    單片機程序在內(nèi)存和FLASH中的空間分配

    這里寫目錄標題1.ROM、RAM和閃存2.單片機程序在內(nèi)存和FLASH中的空間分配3.計算機啟動過程1.ROM、RAM和閃存ROM、RAM和閃存的區(qū)別2.單片機程序在內(nèi)存和FLASH
    發(fā)表于 12-09 07:16

    如何對RAM空間分配操作

    在代碼編譯過程中,編譯會根據(jù)配置和代碼進行空間分配,包括對內(nèi)存RAM的空間分配,對RAM空間
    發(fā)表于 01-20 08:05

    對微處理器flash以及ram的內(nèi)存分配進行講解

    處理器flash以及ram的內(nèi)存分配進行講解;在講解之前先說一下哈佛結(jié)構(gòu)和馮·諾依曼架構(gòu)一、 哈佛架構(gòu)和馮·諾依曼架構(gòu)為什么開題要講一下這連個架構(gòu)呢,因為不同的架構(gòu)決定著實際ram和fla
    發(fā)表于 01-26 07:55

    ARM程序在Flash和SRAM空間中是怎樣進行分配

    linux操作系統(tǒng)的Flash全部是norflash,但是不絕對。  Flash,SRAM寄存和輸入輸出端口被組織在同一個4GB的線性地址空間內(nèi),可訪問的存儲
    發(fā)表于 05-10 15:26

    多寄存組網(wǎng)絡(luò)處理器上的寄存分配技術(shù)

    本內(nèi)容提供了多寄存組網(wǎng)絡(luò)處理器上的寄存分配技術(shù)
    發(fā)表于 06-28 15:26 ?28次下載
    多寄存<b class='flag-5'>器</b>組網(wǎng)絡(luò)<b class='flag-5'>處理器</b>上的寄存<b class='flag-5'>器</b><b class='flag-5'>分配</b>技術(shù)

    STM32處理器存儲空間布局結(jié)構(gòu)說明

    一、Cortex-M3支持最大4GB的存儲空間,其地址映射關(guān)系如下圖 二、存儲映射實例:256KB Flash 48KB SRAM IROM1為片上程序存儲,即片上集成的
    發(fā)表于 11-30 01:35 ?1885次閱讀
     STM32<b class='flag-5'>處理器</b>存儲<b class='flag-5'>空間</b>布局結(jié)構(gòu)說明

    單片機的程序在內(nèi)存和FLASH中應該如何進行空間分配

    一句話:基于速度問題,電腦使用硬盤存儲程序,運行時,在內(nèi)存中分配空間給變量,加載程序到內(nèi)存中,在內(nèi)存中執(zhí)行程序。單片機使用FLASH 存儲程序,運行時,不會將程序加載到內(nèi)存中,在FLASH
    發(fā)表于 09-18 17:20 ?3次下載
    單片機的程序在內(nèi)存和<b class='flag-5'>FLASH</b>中應該如何進行<b class='flag-5'>空間</b><b class='flag-5'>分配</b>

    EE-311:適用于Blackfin?處理器的VisualDSP++?Flash編程API

    EE-311:適用于Blackfin?處理器的VisualDSP++?Flash編程API
    發(fā)表于 04-13 13:55 ?2次下載
    EE-311:適用于Blackfin?<b class='flag-5'>處理器</b>的VisualDSP++?<b class='flag-5'>Flash</b>編程<b class='flag-5'>器</b>API

    負載均衡處理器的運算資源分配策略

    現(xiàn)代超標量處理器通常設(shè)置有多套計算部件攴持指令并行執(zhí)行,以提高程序的運行效率。運算資源分配策略在很大程度上決定了處理器能否充分利用計算部件并行加速計算,具有重要作用。就指令調(diào)度以及運算資源分配
    發(fā)表于 05-13 10:44 ?15次下載

    處理器flash及ram內(nèi)容詳解

    處理器flash以及ram的內(nèi)存分配進行講解; 在講解之前先說一下哈佛結(jié)構(gòu)和馮·諾依曼架構(gòu)一、 哈佛架構(gòu)和馮·諾依曼架構(gòu) 為什么開題要講一下這連個架構(gòu)呢,因為不同的架構(gòu)決定著實際ram和
    發(fā)表于 12-02 12:21 ?0次下載
    微<b class='flag-5'>處理器</b><b class='flag-5'>flash</b>及ram內(nèi)容詳解

    對稱多處理器系統(tǒng)中的進程分配包括

    在現(xiàn)代計算機系統(tǒng)中,對稱多處理器(SMP)架構(gòu)已經(jīng)成為主流。這種架構(gòu)允許多個處理器共享相同的內(nèi)存地址空間和系統(tǒng)資源,從而提高了系統(tǒng)的處理能力和吞吐量。然而,為了充分利用SMP系統(tǒng)的性能
    的頭像 發(fā)表于 10-10 16:34 ?655次閱讀

    EE-231:帶SHARC處理器的SPI Flash在線編程

    電子發(fā)燒友網(wǎng)站提供《EE-231:帶SHARC處理器的SPI Flash在線編程.pdf》資料免費下載
    發(fā)表于 01-06 15:31 ?0次下載
    EE-231:帶SHARC<b class='flag-5'>處理器</b>的SPI <b class='flag-5'>Flash</b>在線編程