stm32f4的RAM和FLASH


一 stm32F4上CCM的使用

  stm32f407zgt6芯片手冊中ram為196KB=128KB IRAM1 +64KB IRAM2 +4KB BACKED RAM1.但一般sct文件都是用的128KB IRAM1,那IRAM2什么時候用,怎么用?

CCM(Core Coupled Memory)是給F4內核專用的全速64KB RAM, 它們沒有經過總線矩陣, F4內核與之直接相連, 地址空間在0x1000_0000 ~ 0x1000_FFFF.由於其地址空間和常規的SRAM不連續, DMA和外設也無法直接使用它們.

如文章中所說,IRAM2一般作為高速運算緩沖BUF(網絡,存儲,顯示,FOC模型解耦, 網絡SSL, JPEG編碼/解碼),或堆棧可以作為特權資源進行管理, 安全和性能得到同步提升.提高效率,在IRAM1不夠用的情況下也可以開啟,可以通過MAP文件將指定模塊的目標文件或靜態數組BUF放在IRAM2中。

        

1. 作堆棧時如何使用.

   修改鏈接腳本, 找到 CCMRAM_region, block CSTACK 和 block HEAP 關鍵詞.

   把原先 place in RAM_region {...} 的命令改為如下2句:

     place in RAM_region { readwrite };

     place in CCMRAM_region { block CSTACK, block HEAP };

2.如何優先使用64KCCRAM:

Keil的設置選項,將IRAM1/IRAM2打勾,將IRAM1改為0x10000000,這樣,編譯器就會優先分配CCM內存;在SCT中修改同樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM