Cortex-M0(+)內核的處理器架構簡介


Cortex-M0(+)內核的處理器架構簡介

系統架構

Cortex-M0處理器具有32位系統總線接口,以及32位地址線,即有4GB的地址空間。
  • 1
  • 2

Cortex-M0系統結構 
系統總線基於AHB_Lite高級高性能總線協議。外設總線基於APB高級外設總線協議,通過一個轉換橋連接到AHB上。這只是Cortex-M0內核的大概模式,Cortex-M0+的存儲器系統與Cortex-M0基本相同。但是廠商根據需要會進行調整。 
以下的是基於cortex-M0+內核的stm32L053的內部架構圖。 
stm32L053的內部架構圖 
可以看到GPIO口掛在了內核上,由BusMartix負責AHB,DMA,SRAM,MIF之間的數據交換 
主總線和外設總線是分離的,所以很多情況下時鍾頻率也不同。我們可以使外設運行在較低的頻率上,或者關閉不用的外設時鍾,這樣可以降低功耗。

存儲器映射

Cortex-M0(+)處理器的4G存儲空間從架構上被分為多個區域。總的被分成8個大部分,每個部分512M。 
Cortex-M0處理器架構定義的存儲器映射
雖然映射已經被架構預先定義,但是實際分配卻是很靈活的。 
1.代碼區域 (0x0000 0000~0x1FFF FFFF) 512M,主要用於存儲代碼 
2.SRAM區域 (0x2000 0000~0x3FFF FFFF) 512M,主要用於數據存儲 
3.外設區域 (0x4000 0000~0x5FFF FFFF) 512M,主要用於外設及數據存儲。不允許執行程序 
4.RAM區域 (0x6000 0000~0x9FFF FFFF) 1GB,外部RAM區域,由兩個512M區域組成 
5.設備區域 (0xA000 0000~0xDFFF FFFF) 1GB,由兩個512M組成。屬性不同。主要用於外設和IO口,不允許程序執行,但是可以用作通用數據存儲。 
6.內部私有總線區域(0xE000 0000~0xE00F FFFF) 1MB。用於處理器內部的外設,包括中斷控制器NVIC和調試部件,還有systick。不允許程序執行。 
7.保留存儲器空間 (0xE010 0000~0xFFFF FFFF) 511M用於保留。 
stm32L053存儲器映射 
上圖為基於Cortex-M0+的stm32L053的存儲器映射圖。我們可以看到基本是與Cortex-M0內核是符合的。但是具體的分配具有很大的靈活性。 
片上FLASH在0x0800 0000,SRAM在0x2000 0000。 
IO口在0x5000 0000-0x5000 1FFF,占用了8K。 
APB1上的器件基地址為0x4000 0000; 
APB2上的外設基地址為0x4001 0000; 
AHB上的外設基地址為 0x4002 0000。


免責聲明!

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



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