Cortex-M3的幾個(gè)重要框圖
Cortex-M3 處理器內(nèi)核
Cortex-M3 處理器系統(tǒng)方框圖Cortex ‐ M3總線連接范例寄存器組Cortex ‐ M3處理器擁有R0‐R15 的寄存器組。其中 R13 作為堆棧指針 SP 。SP 有兩個(gè),但在同一時(shí)刻只能有一個(gè)可以看到,這也就是所謂的“banked ”寄存器。
存儲(chǔ)器映射Cortex ‐ M3預(yù)定義的存儲(chǔ)器映射不像其它的 ARM 架構(gòu),它們的存儲(chǔ)器映射由半導(dǎo)體廠家說了算,Cortex ‐ M3預(yù)先定義好了“粗線條的”存儲(chǔ)器映射。通過把片上外設(shè)的寄存器映射到外設(shè)區(qū),就可以簡(jiǎn)單地以訪問內(nèi)存的方式來訪問這些外設(shè)的寄存器,從而控制外設(shè)的工作。結(jié)果,片上外設(shè)可以使用 C 語(yǔ)言來操作。這種預(yù)定義的映射關(guān)系,也使得對(duì)訪問速度可以做高度的優(yōu)化,而且對(duì)于片上系統(tǒng)的設(shè)計(jì)而言更易集成(還有一個(gè)重要的,不用每學(xué)一種不同的單片機(jī)就要熟悉一種新的存儲(chǔ)器映射——譯注)。
Cortex ‐ M3的內(nèi)部擁有一個(gè)總線基礎(chǔ)設(shè)施,專用于優(yōu)化對(duì)這種存儲(chǔ)器結(jié)構(gòu)的使用。在此之上,CM3 甚至還允許這些區(qū)域之間“越權(quán)使用”。比如說,數(shù)據(jù)存儲(chǔ)器也可以被放到代碼區(qū),而且代碼也能夠在外部RAM 區(qū)中執(zhí)行(但是會(huì)變慢不少——譯注)。處于最高地址的系統(tǒng)級(jí)存儲(chǔ)區(qū),是CM3 用于藏“私房錢”的——包括中斷控制器、MPU以及各種調(diào)試組件。所有這些設(shè)備均使用固定的地址。通過把基礎(chǔ)設(shè)施的地址定死,就至少在內(nèi)核水平上,為應(yīng)用程序的移植掃清了障礙。
cortex m3 中的異常類型