chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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)部有多個(gè)RAM空間,每個(gè)RAM空間的大小和響應(yīng)速度都不一樣。這里面我們重點(diǎn)關(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匯編文件啟動(dòng)能將RW段、ZI段、HEAP、STACK能分配到AXI RAM 512KB 區(qū)域吶?取決于lds鏈接腳本的內(nèi)存分配。首先我們分析一下RW段、ZI段、HEAP、STACK在內(nèi)部RAM中是如何分配的(HEAP和STACK實(shí)際上也屬于ZI段),這里面有幾個(gè)概念需要清楚。通過下圖的描述,我們能看到各個(gè)段的含義。

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

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

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

用戶自定義的用法是通過點(diǎn)擊魔術(shù)棒->linker->按照下圖的設(shè)置,然后點(diǎn)擊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ū)域。在程序上電啟動(dòng)時(shí)就會將此RAM使用起來,程序運(yùn)行的臨時(shí)變量、全局變量等都在RW_IRAM2中運(yùn)行。

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

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

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

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

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

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

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

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

    關(guān)注

    68

    文章

    20158

    瀏覽量

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

    關(guān)注

    8

    文章

    1398

    瀏覽量

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

    關(guān)注

    10

    文章

    3017

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Amphenol 38999 Ram-Lock 推拉接口連接器:設(shè)計(jì)與應(yīng)用指南

    Amphenol 38999 Ram-Lock 推拉接口連接器:設(shè)計(jì)與應(yīng)用指南 在電子設(shè)備的設(shè)計(jì)中,連接器的選擇至關(guān)重要,它直接影響到設(shè)備的性能、可靠性和易用性。今天,我們來深入了解一下
    的頭像 發(fā)表于 12-11 10:55 ?172次閱讀

    FM24CL04B:4-Kbit串行F-RAM的卓越性能與應(yīng)用解析

    FM24CL04B:4-Kbit串行F-RAM的卓越性能與應(yīng)用解析 在電子工程領(lǐng)域,非易失性存儲器的選擇對于系統(tǒng)的性能和可靠性至關(guān)重要。今天,我們將深入探討FM24CL04B這款4 - Kbit
    的頭像 發(fā)表于 12-10 17:15 ?876次閱讀
    FM24CL04B:4-Kbit串行F-<b class='flag-5'>RAM</b>的卓越性能與應(yīng)用解析

    MCU代碼需要搬到RAM中才能運(yùn)行嗎?不這樣做會有什么不妥嘛?

    是塊,不能對指令直接尋址,因此不能直接運(yùn)行其中的代碼。 因此保存在nand flash中的程序不加載到ram中運(yùn)行不了。即的硬盤中的Windows不加載到內(nèi)存條中,運(yùn)行不起來。
    發(fā)表于 12-04 07:39

    使用J-Link Attach NXP S32K3導(dǎo)致對應(yīng)RAM區(qū)域被初始化成0xDEADBEEF

    在IAR Embedded Workbench for Arm中使用J-Link Attach NXP S32K3的時(shí)候,會提示對應(yīng)RAM區(qū)域被初始化成0xDEADBEEF,導(dǎo)致對應(yīng)RAM區(qū)域的數(shù)據(jù)被“篡改”。
    的頭像 發(fā)表于 11-03 15:26 ?4922次閱讀
    使用J-Link Attach NXP S32K3導(dǎo)致對應(yīng)<b class='flag-5'>RAM</b>區(qū)域被初始化成0xDEADBEEF

    雙口ram的使用方法

    單口 RAM 只有一個(gè)時(shí)鐘(clka)(時(shí)鐘上升沿到來時(shí)對數(shù)據(jù)進(jìn)行寫入或者讀出)、一組輸入輸出數(shù)據(jù)線(dina &amp; douta)、一組地址線(addra)、一個(gè)使能端(ena
    發(fā)表于 10-29 06:28

    ram ip核的使用

    1、簡介 ram 的英文全稱是 Random Access Memory,即隨機(jī)存取存儲器, 它可以隨時(shí)把數(shù)據(jù)寫入任一指定地址的存儲單元,也可以隨時(shí)從任一指定地址中讀出數(shù)據(jù), 其讀寫速度是由時(shí)鐘頻率
    發(fā)表于 10-23 07:33

    USB讀RAM buffer使用規(guī)范建議

    Questions:硬件和軟件同時(shí)去訪問 USB RAM buffer 造成數(shù)據(jù)亂掉或丟失 造成亂碼流程: 軟件設(shè)置 USB Valid 關(guān)總中斷,USB 收數(shù)據(jù)到 RAM Buffer,此時(shí)
    發(fā)表于 09-22 17:27

    三大開發(fā)環(huán)境下的Standby RAM變量配置教程

    在嵌入式低功耗設(shè)計(jì)中,Standby RAM(待機(jī)保持內(nèi)存)是芯片在深度休眠模式下仍能保持?jǐn)?shù)據(jù)的關(guān)鍵硬件資源。但許多開發(fā)者苦于不同開發(fā)環(huán)境的配置差異,難以高效利用這一特性。
    的頭像 發(fā)表于 07-05 15:18 ?2485次閱讀
    三大開發(fā)環(huán)境下的Standby <b class='flag-5'>RAM</b>變量配置教程

    Xilinx Shift RAM IP概述和主要功能

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

    淺談MCU片上RAM

    MCU片上RAM是微控制單元(MCU)中集成于芯片內(nèi)部的隨機(jī)存取存儲器,主要用于程序運(yùn)行時(shí)的數(shù)據(jù)存儲與高速讀寫操作。以下是其核心要點(diǎn): 一、定義與分類 ?片上RAM是MCU內(nèi)部存儲單元的一部分
    的頭像 發(fā)表于 04-30 14:47 ?1013次閱讀

    是否可以為RT1060添加HDMI輸出?

    是否可以為 RT1060 添加 HDMI 輸出?我想支持標(biāo)準(zhǔn) 720p 分辨率并使用圖形加速。
    發(fā)表于 04-10 08:04

    將指定文件下的函數(shù)加載到指定ram問題

    問題:mcuxpresso環(huán)境,xip模式下我需要使用flexspi將norflash的一部分作為文件系統(tǒng),將flex以及fatfs相關(guān)函數(shù)全部加載到ram,發(fā)現(xiàn)rodata仍然在flash地址
    發(fā)表于 03-12 17:02

    RAM容量不足導(dǎo)致的數(shù)據(jù)溢出如何預(yù)防和處理?

    在 STM32F411 中,RAM 容量是有限的,特別是在進(jìn)行復(fù)雜的數(shù)據(jù)處理和存儲時(shí),可能會遇到數(shù)據(jù)溢出問題。數(shù)據(jù)溢出是指程序運(yùn)行時(shí),數(shù)據(jù)超出了 RAM 的分配區(qū)域,導(dǎo)致程序崩潰或數(shù)據(jù)丟失。STM32F411 的 RAM 容量為
    發(fā)表于 03-07 16:09

    還在以為智能家居是玩?我家是真能用!

    以前聽到“智能家居”,我總覺得是科技發(fā)燒友的玩具,離普通人的生活還很遠(yuǎn)。直到我自己入手了三翼鳥,才發(fā)現(xiàn)智能家居根本不是“玩”,而是實(shí)實(shí)在在能提升生活品質(zhì)的利器!今天就從智慧管理和主動(dòng)服務(wù)兩個(gè)層面
    的頭像 發(fā)表于 03-06 11:17 ?787次閱讀
    <b class='flag-5'>你</b>還在<b class='flag-5'>以為</b>智能家居是玩?我家是真能用!

    MXD1210非易失RAM控制器技術(shù)手冊

    MXD1210非易失性RAM控制器是一款超低功耗CMOS電路,可將標(biāo)準(zhǔn)(易失性)CMOS RAM轉(zhuǎn)換為非易失性存儲器。它還會持續(xù)監(jiān)控電源,以在RAM的電源處于邊際(超出容限)條件時(shí)提供RAM
    的頭像 發(fā)表于 02-28 10:48 ?789次閱讀
    MXD1210非易失<b class='flag-5'>RAM</b>控制器技術(shù)手冊