Cortex‐M3-总线接口
生活随笔
收集整理的這篇文章主要介紹了
Cortex‐M3-总线接口
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
總線框圖
?Cortex‐M3 內部有若干個總線接口,以使 CM3 能同時取址和訪內(訪問內存),它們是:
- 指令存儲區總線(兩條): 負責對代碼存儲區的訪問,分別是 I‐Code 總線和 D‐Code 總線。前者用
于取指,后者用于查表等操作,它們按最佳執行速度進行優化。 - 系統總線: 用于訪問內存和外設,覆蓋的區域包括 SRAM,片上外設,片外 RAM,片外擴展設備,
以及系統級存儲區的部分空間。 - 私有外設總線: 負責一部分私有外設的訪問,主要就是訪問調試組件。它們也在系統級存儲區。
注:
I-Code 總線
- I‐Code 總線是一條基于 AHB‐Lite 總線協議的 32 位總線,負責在 0x0000_0000?–0x1FFF_FFFF 之間的取指操作。取指以字的長度執行,即使是對于 16 位指令也如此。因此CPU 內核可以一次取出兩條 16 位 Thumb 指令。
D-Code 總線
- D‐Code 總線也是一條基于 AHB‐Lite 總線協議的 32 位總線,負責在 0x0000_0000?–0x1FFF_FFFF 之間的數據訪問操作。盡管 CM3 支持非對齊訪問,但你絕不會在該總線上看到任何非對齊的地址,這是因為處理器的總線接口會把非對齊的數據傳送都轉換成對齊的數據傳送。因此,連接到 D‐Code 總線上的任何設備都只需支持 AHB‐Lite 的對齊訪問,不需要支持非對齊訪問。
系統總線
- 系統總線也是一條基于 AHB‐Lite 總線協議的 32 位總線,負責在 0x2000_0000?–0xDFFF_FFFF 和0xE010_0000?–?0xFFFF_FFFF 之間的所有數據傳送,取指和數據訪問都算上。和 D‐Code 總線一樣,所有的數據傳送都是對齊的。
外部私有外設總線
- 這是一條基于 APB 總線協議的 32 位總線。此總線來負責 0xE004_0000?–?0xE00F_FFFF 之間的私有外設訪問。但是,由于此 APB 存儲空間的一部分已經被 TPIU、ETM 以及 ROM 表用掉了,就只留下了 0xE004_2000‐E00F_F000 這個區間用于配接附加的(私有)外設。
Cortex-M3 的其它接口
- 除了總線接口之外,CM3 還有若干個用于其它目的的接口,這些接口的信號都不大可能會引出到引腳上,而只用于連接 SoC 不同的部分,或者干脆就沒有使用。
總結
以上是生活随笔為你收集整理的Cortex‐M3-总线接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cortex‐M3-存储器映射
- 下一篇: Cortex‐M3-存储器保护单元(MP