吴忠躺衫网络科技有限公司

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

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

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

你以為的RAM不是你以為的RAM~

朱老師物聯(lián)網(wǎng)大講堂 ? 2024-04-05 08:09 ? 次閱讀

一、DTCM和AXI連接的RAM

STM32H7系列處理器內(nèi)部有多個RAM空間,每個RAM空間的大小和響應(yīng)速度都不一樣。這里面我們重點關(guān)注DTCM總線矩陣連接的128KB RAM和AXI總線矩陣連接的512KB RAM。

d2089c24-f2e0-11ee-9118-92fbcf53809c.png

DTCM RAM 128KB:MDK配置是IRAM1:起始地址是0x20000000,大小是0x20000,128KB

AXI RAM 512KB: MDK配置是IRAM2:起始地址是0x240000000,大小是0x80000,152KB

d1fe83ce-f2e0-11ee-9118-92fbcf53809c.gif

二、lds鏈接腳本的內(nèi)存分配

通過上述的分析,我們知道AXI RAM空間要比DTCM RAM空間是要大很多的,那么我們lds鏈接腳本該如何設(shè)置,才能使上電后start_xx.s匯編文件啟動能將RW段、ZI段、HEAP、STACK能分配到AXI RAM 512KB 區(qū)域吶?取決于lds鏈接腳本的內(nèi)存分配。首先我們分析一下RW段、ZI段、HEAP、STACK在內(nèi)部RAM中是如何分配的(HEAP和STACK實際上也屬于ZI段),這里面有幾個概念需要清楚。通過下圖的描述,我們能看到各個段的含義。

d2204f4a-f2e0-11ee-9118-92fbcf53809c.png

RAM中上述的段分配情況通過以下圖表進(jìn)行說明。從RAM起始地址開始依次存放RW-DATA,BSS、HEAP、STACK和剩余空間。這里舉例是以0x20000000開始的128KB AXI RAM進(jìn)行舉例說明。

d2242dea-f2e0-11ee-9118-92fbcf53809c.png

既然有兩個RAM存儲區(qū),那么我們的RW-DATA、BSS、HEAP、STACK應(yīng)該鏈接在哪一個RAM區(qū),這個時候就需要用到.lds鏈接腳本,鏈接腳本的作用就是對RAM和FLASH的分配做指定。

在MDK里有兩種類型的鏈接腳本,一種鏈接腳本是MDK編譯器自動指定,用戶不需要關(guān)注,另外一種腳本是用戶自定義,通過自定義腳本設(shè)定多片RAM的指定,和每一片RAM的具體用法。

用戶自定義的用法是通過點擊魔術(shù)棒->linker->按照下圖的設(shè)置,然后點擊Edit按鈕就會打開鏈接腳本。

d230b736-f2e0-11ee-9118-92fbcf53809c.png

鏈接腳本的定義如下:通過注釋我們知道有倆片RAM區(qū),一片是RW_IRAM1(DTCM RAM:128KB,地址是0x20000000),一片是RW_IRAM2(AXI RAM:512K,地址是0x24000000),這里配置為RW_IRAM1注釋掉不使用,使用RW_IRAM2。

.ANY (+RW +ZI),意思是將RW-DATA、ZI(BSS、HEAP、STACK)分配到RW_IRAM2內(nèi)存區(qū)域。在程序上電啟動時就會將此RAM使用起來,程序運(yùn)行的臨時變量、全局變量等都在RW_IRAM2中運(yùn)行。

d244efd0-f2e0-11ee-9118-92fbcf53809c.png

此時我們發(fā)現(xiàn)AXI RAM 128KB空間沒用到。如何將這個空間利用起來?rs485_sample_master.o (+RW +ZI)這句話的意思是將rs485_sample_master.c的這個文件中所有定義在RW_DATA段、ZI段的變量全部分布在RW_IRAM1這個RAM空間,也就是AXI RAM 128KB空間。

.ANY (axi_ram_128kb)這句話的意思是用戶可以將任意的變量等按照一定的規(guī)則定義到RW_IRAM1這個RAM空間,也就是AXI RAM 128KB空間, (axi_ram_128kb) 的含義是這個將RW_RAM1這個內(nèi)存區(qū)聲明為axi_ram_128kb section。

在具體的C語言代碼中的定義方式如下:

d25649d8-f2e0-11ee-9118-92fbcf53809c.png

我們查看.map文件可以看到具體的定義是否有效,或者通過串口查看變量分配地址。通過.map文件的查看,我們可以確定程序中定義的變量確實分配到0x20000000為起始地址的AXI RAM 128KB空間了。

rs485_sample_master.o文件的RW、ZI段也分配在了0x20000000為起始地址的AXI RAM 128KB空間了。

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

    關(guān)注

    68

    文章

    19408

    瀏覽量

    231187
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1369

    瀏覽量

    115007
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2903

    瀏覽量

    88397
收藏 人收藏

    評論

    相關(guān)推薦

    如何檢測電腦的RAM內(nèi)存

    在現(xiàn)代計算機(jī)系統(tǒng)中,隨機(jī)存取存儲器(RAM)是至關(guān)重要的組件之一。它負(fù)責(zé)存儲當(dāng)前正在使用的程序和數(shù)據(jù),以便CPU可以快速訪問。隨著技術(shù)的發(fā)展,RAM的速度和容量都有了顯著的提升,但如何準(zhǔn)確地檢測
    的頭像 發(fā)表于 11-11 09:51 ?880次閱讀

    如何選擇合適的RAM內(nèi)存

    隨著技術(shù)的發(fā)展,計算機(jī)已經(jīng)成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠帧o論是工作、學(xué)習(xí)還是娛樂,一臺性能出色的計算機(jī)都能極大地提高效率和體驗。而RAM(隨機(jī)存取存儲器)作為計算機(jī)的重要組成部分,直接影響
    的頭像 發(fā)表于 11-11 09:40 ?622次閱讀

    什么是RAM內(nèi)存 RAM內(nèi)存對電腦性能的影響

    什么是RAM內(nèi)存? RAM(Random Access Memory,隨機(jī)存取存儲器)是電腦中的一種易失性存儲器,它用于存儲電腦運(yùn)行時的數(shù)據(jù)和程序。與硬盤等非易失性存儲器不同,RAM在斷電后會丟失
    的頭像 發(fā)表于 11-11 09:38 ?3232次閱讀

    什么是RAM?它有哪些作用?

    RAM,即隨機(jī)存取存儲器(Random Access Memory),是計算機(jī)系統(tǒng)中至關(guān)重要的一個組成部分。它作為一種臨時存儲設(shè)備,具有獨(dú)特的工作原理和多種關(guān)鍵作用。以下是對RAM的詳細(xì)探討,包括其定義、工作原理、作用以及相關(guān)信息。
    的頭像 發(fā)表于 09-26 18:22 ?2657次閱讀

    ram和eeprom各有什么特點

    RAM(Random Access Memory,隨機(jī)存取存儲器)和EEPROM(Electrically Erasable Programmable Read-Only Memory,電
    的頭像 發(fā)表于 09-18 11:11 ?1137次閱讀

    什么是RAM和ROM

    RAM(Random Access Memory,隨機(jī)存取存儲器)和ROM(Read-Only Memory,只讀存儲器)是計算機(jī)存儲系統(tǒng)中的兩種重要組成部分,它們在計算機(jī)的性能和功能上扮演著不同的角色。下面將分別詳細(xì)解釋RAM和ROM的定義、特點、工作原理、類型及其在計
    的頭像 發(fā)表于 08-30 11:38 ?4874次閱讀

    ram存儲的數(shù)據(jù)在斷電后會丟失嗎

    RAM(Random Access Memory,隨機(jī)存取存儲器)是一種計算機(jī)存儲設(shè)備,用于存儲計算機(jī)運(yùn)行時所需的數(shù)據(jù)和指令。與硬盤、固態(tài)硬盤等永久性存儲設(shè)備不同,RAM是一種易失性存儲器,即在斷電
    的頭像 發(fā)表于 08-06 09:19 ?2363次閱讀

    請問Block RAM的資源如何計算?

    當(dāng)使用ram時,width是960bit,depth是16bit,只有15Kb大小, 為什么占用了很多個BRAM?
    的頭像 發(fā)表于 05-06 14:12 ?601次閱讀
    請問Block <b class='flag-5'>RAM</b>的資源如何計算?

    怎么解決MCU RAM空間不夠用的問題?

    之前使用沁恒公司的一款BLE芯片CH573,隨著代碼量的增多,開發(fā)到后期時遇到了RAM空間不夠用的問題,當(dāng)時嚇了我一跳,以為需要重新?lián)Q更大RAM的芯片。
    的頭像 發(fā)表于 05-01 09:57 ?1650次閱讀
    怎么解決MCU <b class='flag-5'>RAM</b>空間不夠用的問題?

    易靈思RAM使用--Update5

    易靈思RAM在使用時可以會遇到一些問題,這里把常用的問題總結(jié)下。 1、ram初始化文件路徑是工程路徑 在對ram進(jìn)行初始化時需要指定文件路徑,這里要注意'/'的方向。 (1)如果文件放在工程目錄
    的頭像 發(fā)表于 04-24 08:43 ?860次閱讀
    易靈思<b class='flag-5'>RAM</b>使用--Update5

    易靈思RAM使用--Update4

    易靈思RAM在使用時可以會遇到一些問題,這里把常用的問題總結(jié)下。 1、ram初始化文件路徑是工程路徑 在對ram進(jìn)行初始化時需要指定文件路徑,這里要注意'/'的方向。 (1)如果文件放在工程目錄
    的頭像 發(fā)表于 04-23 14:52 ?1154次閱讀
    易靈思<b class='flag-5'>RAM</b>使用--Update4

    fpga雙口ram的使用

    FPGA雙口RAM的使用主要涉及配置和使用雙端口RAM模塊。雙端口RAM的特點是有兩組獨(dú)立的端口,可以對同一存儲塊進(jìn)行讀寫操作,從而實現(xiàn)并行訪問。
    的頭像 發(fā)表于 03-15 13:58 ?1109次閱讀

    IC設(shè)計:ram的折疊設(shè)計操作步驟

    在IC設(shè)計中,我們有時會使用深度很大,位寬很小的ram。例如深度為1024,位寬為4bit的ram
    的頭像 發(fā)表于 03-04 15:08 ?2192次閱讀
    IC設(shè)計:<b class='flag-5'>ram</b>的折疊設(shè)計操作步驟

    MCU復(fù)位RAM會保持嗎,如何實現(xiàn)復(fù)位時變量數(shù)據(jù)保持

    在使用MCU時,通常大家默認(rèn)MCU復(fù)位時RAM會被復(fù)位清零,那實際MCU復(fù)位時RAM是什么狀態(tài)?如何讓mcu復(fù)位時RAM保持不變呢?
    的頭像 發(fā)表于 03-01 09:32 ?2628次閱讀
    MCU復(fù)位<b class='flag-5'>RAM</b>會保持嗎,如何實現(xiàn)復(fù)位時變量數(shù)據(jù)保持

    ram內(nèi)部存儲器電路組成

    ram在計算機(jī)和數(shù)字系統(tǒng)中用來暫時存儲程序、數(shù)據(jù)和中間結(jié)果。隨機(jī)存取存儲器(ram)既可向指定單元存入信息又可從指定單元讀出信息。
    的頭像 發(fā)表于 02-19 11:23 ?1954次閱讀
    <b class='flag-5'>ram</b>內(nèi)部存儲器電路組成
    尊龙代理| 明升网址| 百家乐送1000| 百家乐官网无损打法| 祁连县| 北京太阳城医院| 百家乐翻天粤语下载| 百家乐官网java| 河间市| 大发888网址官方| 太阳城百家乐币| 百家乐官网清零| bet365扑克| 免费百家乐缩水| 百家乐注册送彩金平台| 网上百家乐官网是真的| 大发888出纳柜台| 缅甸百家乐玩假吗| 做生意忌讳什么颜色| 线上百家乐官网赢钱| 葡京百家乐官网注码 | 大发888游戏优惠| 真人百家乐软件云南景| 网上百家乐网址| 网上百家乐官网记牌软件| 利高百家乐官网娱乐城| 优博网站| 大发888如何注册送58| 百家乐技巧经| 百家乐金海岸软件| 百家乐预测神法| 沙龙百家乐官网娱乐场开户注册 | 蒙特卡罗国际网址| 莫斯科百家乐的玩法技巧和规则| 百家乐三路秘诀| 罗盘24山八卦| 百家乐官网双龙出海| 百家乐官网有真假宝单吗| 临清市| 五湖四海娱乐城| 太阳城官网|