女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

朱老師物聯網大講堂 ? 2024-04-05 08:09 ? 次閱讀

一、DTCM和AXI連接的RAM

STM32H7系列處理器內部有多個RAM空間,每個RAM空間的大小和響應速度都不一樣。這里面我們重點關注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鏈接腳本的內存分配

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

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

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

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

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

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

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

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

鏈接腳本的定義如下:通過注釋我們知道有倆片RAM區,一片是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內存區域。在程序上電啟動時就會將此RAM使用起來,程序運行的臨時變量、全局變量等都在RW_IRAM2中運行。

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

此時我們發現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)這句話的意思是用戶可以將任意的變量等按照一定的規則定義到RW_IRAM1這個RAM空間,也就是AXI RAM 128KB空間, (axi_ram_128kb) 的含義是這個將RW_RAM1這個內存區聲明為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空間了。

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

    關注

    68

    文章

    19807

    瀏覽量

    233557
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1391

    瀏覽量

    116794
  • 總線
    +關注

    關注

    10

    文章

    2949

    瀏覽量

    89355
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Xilinx Shift RAM IP概述和主要功能

    Xilinx Shift RAM IP 是 AMD Xilinx 提供的一個 LogiCORE IP 核,用于在 FPGA 中實現高效的移位寄存器(Shift Register)。該 IP 核利用
    的頭像 發表于 05-14 09:36 ?169次閱讀

    淺談DDR6 RAM設計挑戰

    DDR6 RAM 是 目前DDR 迭代中的最新版本,最大的數據速率峰值超過 12000 MT/s。
    的頭像 發表于 12-03 16:47 ?1208次閱讀

    如何優化RAM內存使用

    優化RAM內存使用是一個重要的任務,特別是對于那些擁有有限內存資源的用戶。以下是一些優化RAM內存使用的策略,這些策略可以幫助您更有效地使用內存資源: 1. 關閉不必要的程序和服務 檢查后臺程序
    的頭像 發表于 11-11 09:58 ?1245次閱讀

    如何檢測電腦的RAM內存

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

    不同類型的RAM內存對比

    在計算機系統中,RAM(隨機存取存儲器)是至關重要的組件,它負責存儲臨時數據和程序,以便CPU可以快速訪問。隨著技術的發展,市場上出現了多種類型的RAM內存,每種都有其特定的用途和性能特點。以下
    的頭像 發表于 11-11 09:47 ?2245次閱讀

    如何選擇合適的RAM內存

    隨著技術的發展,計算機已經成為我們日常生活中不可或缺的一部分。無論是工作、學習還是娛樂,一臺性能出色的計算機都能極大地提高效率和體驗。而RAM(隨機存取存儲器)作為計算機的重要組成部分,直接影響
    的頭像 發表于 11-11 09:40 ?1411次閱讀

    什么是RAM內存 RAM內存對電腦性能的影響

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

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

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

    ram和eeprom各有什么特點

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

    一般ram芯片上的引腳有哪些

    RAM(Random Access Memory,隨機存取存儲器)芯片上的引腳通常包括多種類型,用于實現數據的存儲、讀取、寫入以及與其他組件的通信。以下是一些常見的RAM芯片引腳類型及其功能: 電源
    的頭像 發表于 09-18 11:07 ?2808次閱讀

    什么是RAM和ROM

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

    ram有幾種,各有什么特點

    RAM(Random Access Memory,隨機存取存儲器)是計算機和其他電子設備中用于臨時存儲數據和指令的半導體存儲器。它是一種易失性存儲器,即在斷電后數據會丟失。RAM對于計算機的運行
    的頭像 發表于 08-06 09:29 ?3859次閱讀

    ram存儲的數據在斷電后會丟失嗎

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

    外部存儲器是ROM還是RAM

    外部存儲器通常指的是計算機系統中除了主存(RAM)以外的存儲設備,如硬盤、固態硬盤(SSD)、USB閃存驅動器、光盤等。它們主要用于長期存儲數據和程序,以供計算機在需要時讀取和寫入。外部存儲器
    的頭像 發表于 08-06 09:13 ?2847次閱讀

    易靈思SOC onchip RAM初始化

    最新有客戶在詢問soc的片上RAM啟動方案。于是有了本篇文章。如果soc不? ? ? ? 使用外部存儲而是使用片上RAM的話,文檔上似乎沒有給出詳細的說明,那這里我們就來介紹一下。 首先片上RAM
    的頭像 發表于 07-21 16:54 ?1102次閱讀
    易靈思SOC onchip <b class='flag-5'>RAM</b>初始化