Cortex M3儲存器對映

2021-10-01 08:43:02 字數 1222 閱讀 4966

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暫存器組

通用目的暫存器 r0 r7 r0 r7 也被稱為低組暫存器。所有指令都能訪問它們。它們的字長全是 32 位,復位後的初始值是不可預料的。2 通用目的暫存器 r8 r12 r8 r12 也被稱為高組暫存器。這是因為只有很少的 16 位 thumb 指令能訪問它們,32 位的thumb 2 指令則不受限...

Cortex M3暫存器組

暫存器組 宗旨 技術的學習是有限的,分享的精神是無限的。通用目的暫存器 r0 r7 r0 r7 也被稱為低組暫存器。所有指令都能訪問它們。它們的字長全是 32 位,復位後的初始值是不可預料的。2 通用目的暫存器 r8 r12 r8 r12 也被稱為高組暫存器。這是因為只有很少的 16 位 thumb...

Cortex M3異常筆記

異常型別 cortex m3編號為1 15對應系統異常,大於等於16的全部是核心級額外部中斷,除個別異常 復位,nmi,硬fault 的優先順序被定死之外,其他異常優先順序都是可以程式設計的。如果乙個發生的異常不能即刻響應,就稱它被 懸起 pending 少數異常時不能被懸起的。乙個異常被懸起的原因...