Cortex M3内核架构
CortexM3內核架構
宗旨:技術的學習是有限的,分享的精神是無限的。
1、ARMCortex-M3處理器
? ? ? ? Cortex-M3處理器內核是單片機的中央處理單元( CPU)。 完整的基于CM3的MCU還需要很多其它組件。在芯片制造商得到CM3處理器內核的使用授權后,它們就可以把CM3內核用在自己的硅片設計中,添加存儲器,外設, I/O以及其它功能塊。不同廠家設計出的單片機會有不同的配置,包括存儲器容量、 類型、 外設等都各具特色。
款式A:設計用于高性能的“開放應用平臺”——越來越接近電腦了
款式R:用于高端的嵌入式系統,尤其是那些帶有實時要求的——又要快又要實時。
款式M:用于深度嵌入的,單片機風格的系統中——ARM v7架構Thumb-2指令集
Cortex-M3 是一個 32 位處理器內核。CM3 采用了哈佛結構,擁有獨立的指令總線和數據總線,指令總線和數據總線共享同一個存儲器空間4G。
?
2、Cortex M3內核架構
1、Cortex M3處理器核心
2、可嵌套中斷向量控制器NVIC
3、總線陣列
4、存儲保護單元MPU
5、Flash分區與斷點FPB
6、數據監測點與跟蹤DWT
7、儀表跟蹤宏單元ITM
8、嵌入跟蹤宏單元ETM
9、跟蹤端口接口單元TPIU
10、AHB訪問端口
11、串口線或JTAG調試口
12、CoresightROM表
13、喚醒中斷控制器WIC
?
三、Cortex M3的總線接口
1、I-Code總線
? ? ? ? I-Code 總線是一條基于AHB-Lite 總線協議的 32 位總線,負責在 0x0000_0000 – 0x1FFF_FFFF 之間的取指操作。取指以字的長度執行,即使是對于 16 位指令也如此。因此 CPU 內核可以一次取出兩條 16 位 Thumb 指令。
2、D-Code總線
? ? ? ? D-Code 總線也是一條基于 AHB-Lite 總線協議的 32 位總線,負責在0x0000_0000 – 0x1FFF_FFFF之間的數據訪問操作。盡管 CM3支持非對齊訪問,但你絕不會在該總線上看到任何非對齊的地址,這是因為處理器的總線接口會把非對齊的數據傳送都轉換成對齊的數據傳送。因此,連接到 D-Code總線上的任何設備都只需支持 AHB-Lite 的對齊訪問,不需要支持非對齊訪問。
3、系統總線
? ? ? ? 系統總線也是一條基于 AHB-Lite 總線協議的 32 位總線,負責在0x2000_0000 – 0xDFFF_FFFF 和0xE010_0000– 0xFFFF_FFFF 之間的所有數據傳送,取指和數據訪問都算上。和 D-Code 總線一樣,所有的數據傳送都是對齊的。
4、外部私有外設總線
? ? ? ? 這是一條基于 APB 總線協議的 32 位總線。此總線來負責 0xE004_0000 – 0xE00F_FFFF 之間的私有外設訪問。但是,由于此 APB存儲空間的一部分已經被 TPIU、 ETM 以及 ROM 表用掉了,就只留下了 0xE004_2000-E00F_F000 這個區間用于配接附加的(私有)外設。
?
四、復位信號
?
總結
以上是生活随笔為你收集整理的Cortex M3内核架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS 2015 卸载所有组件工具
- 下一篇: Tomcat日志乱码问题解决方法