一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何在APM32E1上高效管理2MB SDRAM

Geehy極海半導(dǎo)體 ? 來源:21ic論壇極海半導(dǎo)體專區(qū) ? 2025-07-15 09:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來源:轉(zhuǎn)載自21ic論壇極海半導(dǎo)體專區(qū)

01 前言

一般我們開發(fā)MCU自帶的SRAM,對一般應(yīng)用來說,已經(jīng)夠用了,但是對于內(nèi)存需求較高的場合,比如跑GUI或者算法等,自帶的內(nèi)存會就不夠用,這個時候就要外擴(kuò)SRAM或SDRAM。

不過還好找到了APM32E103VET6S,這款芯片合封了2MB的SDRAM,就是集成在芯片內(nèi)部的意思,據(jù)我閱讀數(shù)據(jù)手冊了解,合封的SDRAM只是跟MCU封裝在一起,初始化程序?qū)懛ǜ鈹U(kuò)SDRAM是一樣的。在程序中使用SDRAM的時候我們都需要填入起始地址,很不方便,這時候就需要內(nèi)存管理來幫助我們自動分配內(nèi)存,大大減少開發(fā)時間和出現(xiàn)bug的可能。

540caa20-5d71-11f0-baa5-92fbcf53809c.png

圖1-1產(chǎn)品命名規(guī)范

根據(jù)圖1-1可以看出APM32后綴帶S就是合封了2MB的SDRAM,不帶后綴S是沒有的,那么再來對比下這2者的區(qū)別,如圖1-2所示,合封了SDRAM的會把SDRAM所使用到的引腳隱藏起來了,但是官方?jīng)]有把PB11隱藏起來,與SDRAM存在沖突,如有使用建議更換其他IO口。

54226004-5d71-11f0-baa5-92fbcf53809c.png

圖1-2 合封與非合封的區(qū)別

接下來看官方芯片數(shù)據(jù)手冊如圖1-3,F(xiàn)lash:512KB,SRAM:128KB,SDRAM:2MB

5434d0fe-5d71-11f0-baa5-92fbcf53809c.png

圖1-3存儲器

543f7b9e-5d71-11f0-baa5-92fbcf53809c.png

圖1-4地址映射圖

從地址映射可以看到SDRAM的地址從60000000H開始,記住這個地址,待會程序里用到。

02 準(zhǔn)備材料

接下來用到2個程序,正點原子戰(zhàn)艦內(nèi)存管理例子和APM32E1的SDK的DMC_SDRAM例子,我們在DMC_SDRAM程序的基礎(chǔ)上移植正點原子戰(zhàn)艦內(nèi)存管理例子:

1、【正點原子】戰(zhàn)艦STM32F103開發(fā)板資料 資料盤(A盤)4,程序源碼實驗37 內(nèi)存管理實驗

2、APM32E10x_SDK_V1.2ExamplesEMMCDMC_SDRAM

03 移植說明

1、首先復(fù)制正點原子戰(zhàn)艦內(nèi)存管理例子里的malloc.c和malloc.h到DMC_SDRAM工程下,修改malloc.c中的外部內(nèi)存地址為0x60000000

544f384a-5d71-11f0-baa5-92fbcf53809c.png

2、修改malloc.h,我這里SDRAM用1920K,留了點沒用完

545d0c86-5d71-11f0-baa5-92fbcf53809c.png

3、移植完成,下面測試下

54722206-5d71-11f0-baa5-92fbcf53809c.png

運行串口打印如下:

548ffdf8-5d71-11f0-baa5-92fbcf53809c.png

Err Count : 0證明SDRAM測試讀寫正常。然后再看打印的p地址不是0x20000000H,而是在60000000H到60200000H之間,就證明申請的內(nèi)存用在SDRAM內(nèi)。

好了,以后程序里就可以用mymalloc(SRAMEX,xxx)函數(shù)申請SDRAM自動分配的內(nèi)存或者mymalloc(SRAMIN,xxx)申請內(nèi)部SRAM自動分配的內(nèi)存啦。

注:文章作者在原帖中提供了例程文件,有需要請至原文21ic論壇下載

原文地址:https://bbs.21ic.com/icview-3327108-1-1.html

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

    關(guān)注

    460

    文章

    52520

    瀏覽量

    441012
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367022
  • sram
    +關(guān)注

    關(guān)注

    6

    文章

    786

    瀏覽量

    115970
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3125

    瀏覽量

    75271

原文標(biāo)題:APM32芯得 EP.60 | 自帶SRAM不夠用?一文教你如何在APM32E1上高效管理2MB SDRAM

文章出處:【微信號:geehysemi,微信公眾號:Geehy極海半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    ESP32-PICO-MINI-02確定內(nèi)部flash為2MB,沒有外部ram嗎?

    我購買的 ESP32-PICO-DevKitM-2 ,燒錄 getstart 中的helloword程序(添加了打印內(nèi)部ram和外部ram),日志顯示flash只有2MB,外部Ram為0,這與官網(wǎng)上描述的相差很大,這是怎么回事。
    發(fā)表于 07-02 08:08

    CC3200如何將flash從1MB改成2MB?

    CC3200如何將flash從1MB改成2MB?CC3200將flash從1MB改成2MB,需要修改哪里來適配大flash,如何修改flash各個分區(qū)的大小? File system
    發(fā)表于 04-05 16:10

    EMW3166內(nèi)部2MB SPI閃存

    你好,我們正在開發(fā)一個對的emw3166 WICED平臺項目,我們是否2MB的內(nèi)部SPI Flash是有線的QSPI的港口很困惑,或?qū)PI1,使它不可能使用外部引腳4, 5, 6和7
    發(fā)表于 08-30 14:51

    為什么在sdkconfig中默認(rèn)將ESP32閃存容量設(shè)置為2MB呢?

    當(dāng) ESP32 提供 4MB 閃存時,對于大多數(shù)示例,為什么在 sdkconfig 中默認(rèn)將 ESP32 的( CONFIG_ESPTOOLPY_FLASHSIZE ) 設(shè)置為 2MB?我的代碼比
    發(fā)表于 03-01 07:36

    APM/ACPI電源管理

    了解APM和ACPI的相關(guān)知識;了解ICH4提供的電源管理部分的特點;了解由Linux下電源管理驅(qū)動程序的相關(guān)知識;在Linux進(jìn)行電源管理的相關(guān)開發(fā)。 閱讀有關(guān)
    發(fā)表于 06-01 21:35 ?38次下載

    E1 2.048 Mb/s Interface Pod

    The HP E5125A E1 2.048 Mb/sInterface Pod generates and analyzes2.048 Mb/s PDH frames using
    發(fā)表于 07-09 16:43 ?12次下載

    何在MCU上高效管理內(nèi)存?

    本文主要介紹內(nèi)存的基本概念以及操作系統(tǒng)的內(nèi)存管理算法。
    發(fā)表于 02-08 15:29 ?2次下載
    如<b class='flag-5'>何在</b>MCU<b class='flag-5'>上高效</b>地<b class='flag-5'>管理</b>內(nèi)存?

    APM32E103xCxE數(shù)據(jù)手冊

    APM32E103xCxE數(shù)據(jù)手冊
    發(fā)表于 11-09 21:03 ?2次下載
    <b class='flag-5'>APM32E</b>103xCxE數(shù)據(jù)手冊

    AN1082_APM32F4xx_SDRAM應(yīng)用筆記

    AN1082_APM32F4xx_SDRAM應(yīng)用筆記
    發(fā)表于 11-09 21:03 ?0次下載
    AN1082_<b class='flag-5'>APM32F4xx_SDRAM</b>應(yīng)用筆記

    APM32E103VET6S_SDRAM模塊_SDRAM與IO口沖突問題

    APM32E103VET6S_SDRAM模塊_SDRAM與IO口沖突問題
    發(fā)表于 11-09 21:03 ?1次下載
    <b class='flag-5'>APM32E103VET6S_SDRAM</b>模塊_<b class='flag-5'>SDRAM</b>與IO口沖突問題

    DS13737 超低功耗Arm? Cortex?-M33 32位MCU+TrustZone?+FPU,240 DMIPS,2MB閃存,786 KB SRAM

    DS13737 超低功耗Arm? Cortex?-M33 32位MCU+TrustZone?+FPU,240 DMIPS,2MB閃存,786 KB SRAM
    發(fā)表于 11-23 08:28 ?0次下載
    DS13737 超低功耗Arm? Cortex?-M33 32位MCU+TrustZone?+FPU,240 DMIPS,<b class='flag-5'>2MB</b>閃存,786 KB SRAM

    DS13086 超低功率Arm? Cortex?-M33 32位MCU+TrustZone?+FPU, 240 DMIPS,高達(dá)2MB的閃存,786KB的SRAM,密碼器

    DS13086 超低功率Arm? Cortex?-M33 32位MCU+TrustZone?+FPU, 240 DMIPS,高達(dá)2MB的閃存,786KB的SRAM,密碼器
    發(fā)表于 11-23 08:28 ?0次下載
    DS13086 超低功率Arm? Cortex?-M33 32位MCU+TrustZone?+FPU, 240 DMIPS,高達(dá)<b class='flag-5'>2MB</b>的閃存,786KB的SRAM,密碼器

    DS12117_32 位 Arm? Cortex?-M7 480MHz MCU,2MB 閃存,1MB RAM,46 com. 和模擬接口,加密

    DS12117_32 位 Arm? Cortex?-M7 480MHz MCU,2MB 閃存,1MB RAM,46 com. 和模擬接口,加密
    發(fā)表于 11-23 08:29 ?0次下載
    DS12117_32 位 Arm? Cortex?-M7 480MHz MCU,<b class='flag-5'>2MB</b> 閃存,<b class='flag-5'>1MB</b> RAM,46 com. 和模擬接口,加密

    DS12110_32 位 Arm? Cortex?-M7 480MHz MCU,最高 2MB 閃存,最高 1MB RAM,46 com. 和模擬接口

    DS12110_32 位 Arm? Cortex?-M7 480MHz MCU,最高 2MB 閃存,最高 1MB RAM,46 com. 和模擬接口
    發(fā)表于 11-23 20:26 ?0次下載
    DS12110_32 位 Arm? Cortex?-M7 480MHz MCU,最高 <b class='flag-5'>2MB</b> 閃存,最高 <b class='flag-5'>1MB</b> RAM,46 com. 和模擬接口

    2MB片內(nèi)RAM的RTOS微處理器RZ/A1LC數(shù)據(jù)手冊

    RZ/A1LC 微處理器單元(MPU)是 RZ/A1 系列中最具成本效益的產(chǎn)品,其特點是配備運行頻率為 400MHz 的 Arm?Cortex?-A9 內(nèi)核以及 2MB 的片上靜態(tài)隨機(jī)存取存儲器
    的頭像 發(fā)表于 03-11 14:07 ?564次閱讀
    帶<b class='flag-5'>2MB</b>片內(nèi)RAM的RTOS微處理器RZ/A<b class='flag-5'>1</b>LC數(shù)據(jù)手冊