h1_key

當(dāng)前位置:首頁(yè) >新聞資訊 > 技術(shù)文章>華大>華大HC32F460單片機(jī)變量定位到SRAMH
華大HC32F460單片機(jī)變量定位到SRAMH
2023-03-21 1253次

華大HC32F460單片機(jī)內(nèi)部有一共192KB的SRAM,其中有32KB的快速SRAM區(qū),SRAMH。所謂SRAMH快速SRAM,就是在CPU運(yùn)行在高速頻率下,比如200Mhz,讀取內(nèi)部SRAM無需等待CPU時(shí)鐘周期,如手冊(cè)中的下圖: 


其中只有SRAMH在全頻段內(nèi)是無需CPU等待的,其他SRAM在100Mhz以上都需要等待至少1個(gè)CPU周期。所以如果做一定的數(shù)據(jù)算法,需要大量頻繁使用RAM,最好把這些數(shù)據(jù)放在RAMH內(nèi),以增加CPU讀取RAM速度。本貼總結(jié)一個(gè)把4K數(shù)據(jù)內(nèi)存數(shù)組放在SRAMH的方法。下圖是HC32F460的內(nèi)部SRAM地址layout:

在程序中我要把一組4K數(shù)據(jù)放在0x1FFF8000地址開頭的4K size空間內(nèi)。方法就是使用ARM編譯器的屬性功能。uint8_t gReserve[4096] __attribute__((section(".ARM.__at_0x1FFF8000")));以上一段代碼就是定位4KB大小的gReserve數(shù)據(jù)到0x1FFF8000內(nèi)。另外我們?cè)谌A大默認(rèn)工程內(nèi)編譯前,還需要把編譯器預(yù)留的RAM區(qū)去掉0x1FFF8000開頭 大小為4KB的區(qū)域。因?yàn)槟J(rèn)編譯選項(xiàng)內(nèi)設(shè)置了從0x1FFF8000開頭的ZI區(qū),所以默認(rèn)工程編譯會(huì)報(bào)錯(cuò)。編譯選項(xiàng)修改前如圖:

修改后編譯選項(xiàng):我們看到IRAM1的起始地址和大小都相應(yīng)的做了對(duì)應(yīng)調(diào)整,這樣編譯程序才不會(huì)報(bào)錯(cuò)。 

 

編譯后查看.map 看看0x1FFF8000地址是怎么分配的:

看來我們分配成功了,我們用程序來驗(yàn)證一下:在程序開頭我們添加以下代碼打印出我們gReserve的地址。DPRINTF("[%s:%d]:gReserve addr:0x%x\n", __FUNCTION__, __LINE__, gReserve);看一下串口輸出:看來我們已經(jīng)驗(yàn)證沒有問題了,gReserve被分配在了內(nèi)部SRAMH快速   RAM內(nèi)(0x1FFF8000)。 

最后,當(dāng)然不一定非得變量才能通過__attribute__方式放在內(nèi)部RAM內(nèi),其實(shí)函數(shù)或某段代碼也是可以通過__attribute__來放置在RAM內(nèi)。另外整個(gè)一個(gè).c文件編譯出來的.o也可以通過keil file option的方式放在RAM內(nèi)。比如如下圖: 


 

  • 華大單片機(jī)設(shè)計(jì)5大注意事項(xiàng)
  • 華大單片機(jī)被越來越多的額溫槍市場(chǎng)合作伙伴應(yīng)用,工程師們?cè)谑褂卯a(chǎn)品時(shí)一定要注意華大單片機(jī)設(shè)計(jì)5大注意事項(xiàng):1. Vcap管腳、2. MODE(Boot、MD)管腳、3. 離線燒錄用的UART口、4. 得到極致的超低功耗、5. 用戶程序?qū)?nèi)部FLASH擦寫特別注意。
    2023-03-21 618次
  • 華大HC32F460單片機(jī)變量定位到SRAMH
  • 華大HC32F460單片機(jī)內(nèi)部有一共192KB的SRAM,其中有32KB的快速SRAM區(qū),SRAMH。所謂SRAMH快速SRAM,就是在CPU運(yùn)行在高速頻率下,比如200Mhz,讀取內(nèi)部SRAM無需等待CPU時(shí)鐘周期。
    2023-03-21 1254次
  • 華大單片機(jī)超低功耗如何設(shè)置
  • 華大單片機(jī)主推超低功耗系列,產(chǎn)品的功耗其實(shí)包括了產(chǎn)品工作時(shí)的功耗和休眠時(shí)的功耗兩部分,這兩部分的加權(quán)平均值才是產(chǎn)品的平均功耗,對(duì)于評(píng)價(jià)產(chǎn)品的功能、性能有特殊意義。以HC32L136芯片解釋一下,華大單片機(jī)如何設(shè)置超低功耗的問題。
    2023-03-21 702次
  • 低功耗華大單片機(jī)MDK中新建工程
  • 以HC32F003為例介紹在MDK中如何利用.pack支持包來為國(guó)產(chǎn)低功耗華大單片機(jī)新建工程。首先下載HC32F003的.pack支持包到自己的電腦中,選擇需要的型號(hào)進(jìn)行下載和安裝。
    2023-03-21 564次
  • 國(guó)產(chǎn)芯片華大HC32替換STM32
  • 芯片持續(xù)缺貨漲價(jià),在初創(chuàng)小公司真的是處于生死的邊緣,各種芯片一直在告急,沒有供貨商,公司產(chǎn)品也生產(chǎn)不出來,32的芯片價(jià)格飆升,讓企業(yè)不得選擇國(guó)產(chǎn)的芯片HC32F460KETA國(guó)產(chǎn)芯片華大HC32替換STM32。
    2023-03-21 699次

    萬聯(lián)芯微信公眾號(hào)

    元器件現(xiàn)貨+BOM配單+PCBA制造平臺(tái)
    關(guān)注公眾號(hào),優(yōu)惠活動(dòng)早知道!
    10s
    溫馨提示:
    訂單商品問題請(qǐng)移至我的售后服務(wù)提交售后申請(qǐng),其他需投訴問題可移至我的投訴提交,我們將在第一時(shí)間給您答復(fù)
    返回頂部