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

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

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

應(yīng)用分享| HPM6000系列片上SRAM揭秘

先楫半導體HPMicro ? 2022-09-19 11:02 ? 次閱讀

72cd000e-35f6-11ed-9ade-dac502259ad0.jpg

本期開發(fā)筆記由費神編寫主要會為大家介紹HPM6000系列的各類片上SRAM并結(jié)合Segger Embedded Studio的linker文件介紹,提供了如何使用這些SRAM的建議,趕快來了解吧~

簡介

在HPM6000系列微控制器上,集成了大容量的SRAM,可供用戶存放代碼,數(shù)據(jù)等,滿足各類應(yīng)用的需要。其中片上SRAM有多種分類,包括RISC-V CPU的指令和數(shù)據(jù)本地存儲器ILM,DLM,通用內(nèi)存AXI SRAM,AHB SRAM等,還包括AHB SRAM,APB SRAM等。這些SRAM的最高訪問頻率不同,數(shù)據(jù)保持的條件也不同,恰當?shù)厥褂盟麄儯梢詷O大的提升用戶應(yīng)用的效率。

片上SRAM介紹

HPM6000系列高性能MCU均集成了大容量片上SRAM,總結(jié)如下:

72f63a8c-35f6-11ed-9ade-dac502259ad0.pngHPM6000系列片上SRAM總結(jié)2.1 RISC-V CPU的本地存儲器ILM和DLM
HPM6000系列高性能微控制器的RISC-V CPU都包含有指令和本地存儲器,分別稱為ILM(Instruction Local Memory,指令本地存儲器)和DLM(Data Local Memory,數(shù)據(jù)本地存儲器)。如下圖所示,RISC-V CPU的ILM和DLM各自對應(yīng)了內(nèi)存映射表(Memory Map)中的2塊地址映射區(qū)域。7309fce8-35f6-11ed-9ade-dac502259ad0.pngHPM6700系列ILM/DLM示意圖ILM的映射有:
ILM,以HPM6700系列為例,容量256 KB,地址范圍為0x00000000 ~ 0x0003FFFF。該地址區(qū)域只有RISC-V CPU可以通過自身的ILM接口訪問,RISC-V CPU從ILM取指時,可以實現(xiàn)零等待周期,即ILM的訪問時鐘頻率,與RISC-V CPU主頻一致,并且RISC-V CPU的一級高速指令緩存I-Cache-L1對ILM無效。CPUx_ILM_SLV,以HPM6700系列的CPU0 ILM為例,容量256 KB,地址范圍為0x01000000 ~ 0x0103FFFF。該地址區(qū)域也稱為ILM0鏡像,該地址區(qū)域可以供總線上所有的主設(shè)備訪問,如DMA等,包括RISC-V CPU自身,也可以通過CPUx_ILM_SLV訪問ILM。如圖所示,CPUx_ILM_SLV是AXI系統(tǒng)總線的從接口,其訪問時鐘頻率與總線時鐘頻率一致。RISC-V CPU訪問CPUx_ILM_SLV時,一級高速指令緩存I-Cache-L1是有效的。
DLM的映射有:DLM,以HPM6700系列為例,容量256 KB,地址范圍為0x00080000 ~ 0x000BFFFF。該地址區(qū)域只有RISC-V CPU可以通過自身的DLM接口訪問,RISC-V CPU從DLM讀寫數(shù)據(jù)時,可以實現(xiàn)零等待周期,即DLM的訪問時鐘頻率,與RISC-V CPU主頻一致,并且RISC-V CPU的一級高速指令緩存D-Cache-L1對DLM無效。CPUx_DLM_SLV,以HPM6700系列的CPU0 DLM為例,容量256 KB,地址范圍為0x01040000 ~ 0x0107FFFF。該地址區(qū)域也稱為ILM0鏡像,該地址區(qū)域可以供總線上所有的主設(shè)備訪問,如DMA等,包括RISC-V CPU自身,也可以通過CPUx_DLM_SLV訪問ILM。如圖所示,CPUx_DLM_SLV是AXI系統(tǒng)總線的從接口,其訪問時鐘頻率于總線時鐘頻率一致。RISC-V CPU訪問CPUx_DM_SLV時,一級高速指令緩存D-Cache-L1是有效的。

2.1.1HPM6700系列

HPM6700系列微控制器上,指令/數(shù)據(jù)本地存儲器的2塊地址映射xLM和CPUx_xLM_SLV雖然地址不同,但訪問的是同一塊物理內(nèi)存,RISC-V CPU可以通過xLM訪問自身的指令/數(shù)據(jù)本地存儲器,而其他總線主設(shè)備,比如DMA,需要通過CPUx_xLM_SLV來訪問CPUx的指令/數(shù)據(jù)本地存儲器。注意,RISC-V CPU本身,也可以通過CPUx_xLM_SLV訪問自己的指令/數(shù)據(jù)本地存儲器。
HPM6700系列支持雙核RISC-V CPU,CPU從xLM地址映射總是訪問到自身指令/數(shù)據(jù)本地存儲器,而從CPUx_xLM_SLV可以訪問到自身或者另一個CPU的指令/數(shù)據(jù)本地存儲器。
以HPM6700系列RISC-V CPU0為例,從0x00000000和0x01000000讀取到的,是CPU0指令本地存儲器ILM0的首地址。從0x01180000讀到的,是CPU1指令本地存儲器ILM1的首地址。
以RISC-V CPU1為例,從0x00000000和0x01180000讀取到的,是CPU1指令本地存儲器ILM1的首地址。從0x01000000讀到的,是CPU0指令本地存儲器ILM0的首地址。7347acdc-35f6-11ed-9ade-dac502259ad0.png

2.1.2HPM6300系列

HPM6300系列為單核RISC-V CPU,RISC-V CPU和其他總線主設(shè)備都可以通過xLM地址映射訪問CPU的指令/數(shù)據(jù)本地存儲器,其中RISC-V CPU仍然可以通過自身的xLM接口對xLM實現(xiàn)零等待周期訪問,即xLM的讀寫時鐘頻率與CPU的時鐘同頻。而其他總線主設(shè)備,需要以AXI系統(tǒng)總線的時鐘頻率訪問xLM。

同時,xLM的鏡像,CPUx_xLM_SLV映射仍然有效,包括RISC-V CPU在內(nèi)的所有總線主設(shè)備,訪問CPUx_xLM_SLV與訪問xLM效果相同,訪問的是同一塊物理內(nèi)存。注意RISC-V CPU通過CPUx_xLM_SLV訪問自身的xLM時,會和其他總線主設(shè)備一樣,讀寫時鐘頻率與AXI系統(tǒng)總線時鐘頻率一致,不再支持零周期等待,但是CPU的高速一級緩存會生效。
比如,RISC-V CPU和DMA,從0x00000000讀取到的,是CPU0指令本地存儲器ILM0的首地址。從0x01000000讀取到的,也是CPU0指令本地存儲器ILM0的首地址。注意RISC-V CPU從0x01000000取值后,如果高速緩存打開,其數(shù)據(jù)會被存入緩存。

2.2AXI總線SRAM


HPM6000系列高性能MCU支持通用的片上SRAM,稱為AXI SRAM,可以用來存放數(shù)據(jù)或者代碼。

736aa188-35f6-11ed-9ade-dac502259ad0.pngHPM6700系列AXI?SRAM示意圖上圖以HPM6700系列MCU為例,展示了AXI SRAM在系統(tǒng)中的位置。顧名思義,AXI SRAM連接到AXI系統(tǒng)總線的從接口,它的讀寫時鐘頻率就是AXI系統(tǒng)總線的時鐘頻率。所有的AXI系統(tǒng)總線主設(shè)備都可以訪問AXI SRAM。
注意:系統(tǒng)內(nèi)存映射表上,AXI SRAM的地址映射與RISC-V CPU的ILM/DLM鏡像映射CPUx_xLM_SLV在地址上是連續(xù)的。因此可以把AXI SRAM和RISC-V CPU的本地存儲器當作一塊聯(lián)系的大內(nèi)存使用。詳情請參考后文的SRAM使用建議。

2.3AHB總線SRAM


HPM6000系列高性能MCU包含掛載在外設(shè)總線AHB的片上SRAM,稱為AHB SRAM,如下圖所示,AHB SRAM連接到AHB外設(shè)總線的從設(shè)備接口。
AHB SRAM的讀寫時鐘頻率為AHB外設(shè)總線的時鐘頻率。注意,包括RISC-V CPU在內(nèi)的總線主設(shè)備需要通過AXI系統(tǒng)總線,來訪問AHB外設(shè)總線下的各個外設(shè)寄存器。而外設(shè)總線AHB上的主設(shè)備,比如HDMA,可以直接通過AHB總線訪問外設(shè)寄存器,以及AHB SRAM。因此AHB SRAM比其他類型的片上SRAM更適合用作寄存器和SRAM之間的數(shù)據(jù)搬運?;谕瑯拥睦碛?,HDMA也比XDMA更適合用作AHB SRAM和寄存器之間的數(shù)據(jù)搬運。
因此,當使用HDMA用作通訊接口,如UART,SPI的數(shù)據(jù)收發(fā)時,推薦使用AHB SRAM作為數(shù)據(jù)的緩沖區(qū)。73a1dba8-35f6-11ed-9ade-dac502259ad0.pngHPM6700系列AHB?SRAM和APB?SRAM示意圖

2.4APB總線SRAM


HPM6000系列高性能MCU的部分型號支持APB SRAM。上圖以HPM6700系列MCU為例,展示了APB SRAM在系統(tǒng)中的位置。
APB SRAM位于電源管理域,由VPMC引腳供電。當MCU處于低功耗模式時,有可能通過關(guān)閉系統(tǒng)電源域的電源,使得VDD_SOC掉電。此時,APB SRAM可以作為片上的備份SRAM,保存必要的數(shù)據(jù)。
注意,對于不支持APB SRAM的型號,可以使用電源管理域通用寄存器PGPR,保存一定的備份數(shù)據(jù)。

在電池模式(VBAT Only Mode)下,VPMC也掉電,HPM6000系列MCU僅VBAT保持供電。此時,電池備份域通用寄存器BGPR,可以用來保存一定的備份數(shù)據(jù)。

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

    關(guān)注

    146

    文章

    17148

    瀏覽量

    351212
收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于hpm6364的femc同時使用外接sdram和sram的問題

    femc連接32Mb的sdram,同時連接fpga,用sram方式與fpga通信。 配置IO口都配置了IOC_PAD_FUNC_CTL_ALT_SELECT_SET(12);當作femc接口
    發(fā)表于 11-20 14:45

    TMS320C6000 EMIF轉(zhuǎn)外部異步SRAM接口

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000 EMIF轉(zhuǎn)外部異步SRAM接口.pdf》資料免費下載
    發(fā)表于 10-26 10:28 ?0次下載
    TMS320C<b class='flag-5'>6000</b> EMIF轉(zhuǎn)外部異步<b class='flag-5'>SRAM</b>接口

    66AK2Hx系統(tǒng)(SoC)器件系列的功耗摘要

    電子發(fā)燒友網(wǎng)站提供《66AK2Hx系統(tǒng)(SoC)器件系列的功耗摘要.pdf》資料免費下載
    發(fā)表于 10-10 09:11 ?0次下載
    66AK2Hx<b class='flag-5'>片</b><b class='flag-5'>上</b>系統(tǒng)(SoC)器件<b class='flag-5'>系列</b>的功耗摘要

    SDK里面是否能添加HPM5300系列芯片支持包?

    SDK里面是否能添加HPM5300系列芯片支持包?只發(fā)現(xiàn)板級支持包。
    發(fā)表于 09-27 10:01

    Keysight InfiniiVision 6000 X 系列示波器

    KeysightInfiniiVision6000X系列示波器深入探索,分析更多信號細節(jié),直觀的觸摸屏用戶界面、語音控制和區(qū)域觸發(fā),讓復雜的任務(wù)變得簡單無比。樹立示波器性價比新標桿
    的頭像 發(fā)表于 08-14 08:34 ?380次閱讀
    Keysight InfiniiVision <b class='flag-5'>6000</b> X <b class='flag-5'>系列</b>示波器

    支持HPM6E00!HPMicro Pintool Web v0.3.1正式上線!

    1、新增HPM6E00系列數(shù)據(jù)先楫發(fā)布了最新的HPM6E00系列芯片,Pintool也迅速支持了HPM6E00
    的頭像 發(fā)表于 07-05 08:18 ?629次閱讀
    支持<b class='flag-5'>HPM</b>6E00!HPMicro Pintool Web v0.3.1正式上線!

    龍芯3C6000芯片初樣成功回:預計四季度發(fā)布,性能大幅升級

    近日,備受關(guān)注的龍芯中科在其官方互動平臺上向投資者透露了振奮人心的消息:面向服務(wù)器的龍芯3C6000系列處理器初樣已成功回,并在測試中表現(xiàn)出色,總體符合預期。這款備受期待的芯片預計
    的頭像 發(fā)表于 06-27 10:52 ?873次閱讀

    請問如何使用SRAM?

    Hi , 在項目中,我們需要增加SRAM,型號是IS62WVS5128GALL 大小是512kb,請問你們是否支持此IC,能否提供驅(qū)動或者demo?
    發(fā)表于 06-25 08:01

    有獎提問!先楫半導體HPM6E00系列新品發(fā)布會!!

    半導體HPM6E00新品預覽”的活動,盛況空前。 自此之后一直收到大家的信息,問什么時候能夠買到HPM6E00,這不,我們來了~ 先楫半導體在現(xiàn)有的HPM6000系列RISC-V高性
    發(fā)表于 06-20 11:45

    HPM USB系列HPM6700雙USB功能介紹

    HPM6700系列MCU提供了2個USB外設(shè)端口。這些端口內(nèi)置高速PHY,支持OTG模式,主機模式支持高速、全速和低速模式,設(shè)備模式支持高速和全速模式,完全兼容USB2.0協(xié)議。這使得HPM
    的頭像 發(fā)表于 05-31 08:17 ?571次閱讀
    <b class='flag-5'>HPM</b> USB<b class='flag-5'>系列</b>:<b class='flag-5'>HPM</b>6700雙USB功能介紹

    HPM USB系列HPM6700雙USB功能介紹

    HPM6700系列MCU提供了2個USB外設(shè)端口。這些端口內(nèi)置高速PHY,支持OTG模式,主機模式支持高速、全速和低速模式,設(shè)備模式支持高速和全速模式,完全兼容USB 2.0協(xié)議。
    的頭像 發(fā)表于 05-30 11:40 ?647次閱讀
    <b class='flag-5'>HPM</b> USB<b class='flag-5'>系列</b>:<b class='flag-5'>HPM</b>6700雙USB功能介紹

    基于先楫HPM5300 RISC-V內(nèi)核MCU的HPM5361EVK開發(fā)板測評效果(二)

    HPM5361EVK是基于先楫HPM5300系列高性能RISC-V內(nèi)核MCU的一款開發(fā)板。
    的頭像 發(fā)表于 03-12 10:30 ?2916次閱讀
    基于先楫<b class='flag-5'>HPM</b>5300 RISC-V內(nèi)核MCU的<b class='flag-5'>HPM</b>5361EVK開發(fā)板測評效果(二)

    龍芯3C6000服務(wù)器芯片交付流

    龍芯中科近日宣布,其新一代芯片3C6000已經(jīng)交付流,這標志著公司在芯片技術(shù)領(lǐng)域又邁出了重要的一步。據(jù)公司介紹,龍芯3C6000的IO接口相較于當前服務(wù)器產(chǎn)品3C5000有了大幅度的改進和優(yōu)化。
    的頭像 發(fā)表于 02-04 09:47 ?1024次閱讀

    STM32無法進入Bootloader的處理方法

    STM32無法進入Bootloader的處理方法? 當STM32芯片無法進入Bootloader時,我們需要采取一系列的處理方法來解
    的頭像 發(fā)表于 02-02 14:33 ?2085次閱讀

    你好 tms570能夠直接運行在內(nèi) sram嗎?

    你好 tms570能夠直接跑在sram嗎? 從flash加載程序1之后,程序1把程序2搬移到sram中,然后在sram中運行程序。TMS570支持這樣運行不?
    發(fā)表于 01-19 09:24