Cortex M3存储器映射
CortexM3存儲器系統
 
宗旨:技術的學習是有限的,分享的精神是無限的。
 
 
? ? ? ? CM3 只有一個單一固定的存儲器映射。這一點極大地方便了軟件在各種 CM3 單片機間的移植。
? ? ? ? 存儲空間的一些位置用于調試組件等私有外設,這個地址段被稱為“私有外設區”。私有外設區的組件包括:閃存地址重載及斷點單元(FPB),數據觀察點單元(DWT),儀器化跟蹤宏單元(ITM),嵌入式跟蹤宏單元(ETM),跟蹤端口接口單元(TPIU), ROM 表。
? ? ? ? CM3的地址空間是 4GB, 程序可以在代碼區,內部 SRAM 區以及外部 RAM 區中執行。但是因為指令總線與數據總線是分開的,最理想的是把程序放到代碼區,從而使取指和數據訪問各自使用自己的總線,并行不悖。
1、代碼區
?????? 存放指令和數據,取指通過指令碼(ICode)總線,數據訪問借助數據碼(DCode)總線。
2、片上SRAM
? ? ? ?內部SRAM 區的大小是 512MB,用于讓芯片制造商連接片上的 SRAM,這個區通過系統總線來訪問。在這個區的下部,有一個 1MB 的區間,被稱為“位帶區”。該位帶區還有一個對應的、 32MB 的“位帶別名(alias)區”,容納了 8M 個“位變量”(對比 8051 的只有 128 個位變量)。位帶區對應的是最低的 1MB 地址范圍,而位帶別名區里面的每個字對應位帶區的一個比特。位帶操作只適用于數據訪問,不適用于取指。通過位帶的功能,可以把多個布爾型數據打包在單一的字中,卻依然可以從位帶別名區中,像訪問普通內存一樣地使用它們。位帶別名區中的訪問操作是原子的。
3、片上外設
? ? ? ? 512M由片上外設(的寄存器)使用。這個區中也有一條 32MB 的位帶別名,以便于快捷地訪問外設寄存器,用法與內部 SRAM 區中的位帶相同。
4、2個1G空間
? ? ? ? 分別用于連接外部 RAM 和外部設備,它們之中沒有位帶。兩者的區別在于外部 RAM 區允許執行指令,而外部設備區則不允許。
5、最后0.5G
? ? ? ? 包括了系統級組件,內部私有外設總線 s,外部私有外設總線 s,以及由提供者定義的系統外設。
私有外設總線有兩條:
AHB 私有外設總線,只用于CM3內部的AHB外設,它們是:NVIC, FPB, DWT和ITM。
APB 私有外設總線,既用于CM3內部的APB設備,也用于外部設備(這里的“外部”是對內核而言)。CM3允許器件制造商再添加一些片上APB外設到APB私有總線上,它們通過APB接口來訪問。
總結
以上是生活随笔為你收集整理的Cortex M3存储器映射的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 嵌入式高手之路
- 下一篇: 龙星电脑横机制版软件_龙星电脑横机制版四
