第2章ARMcortexM3內(nèi)部結(jié)構(gòu)._第1頁(yè)
第2章ARMcortexM3內(nèi)部結(jié)構(gòu)._第2頁(yè)
第2章ARMcortexM3內(nèi)部結(jié)構(gòu)._第3頁(yè)
第2章ARMcortexM3內(nèi)部結(jié)構(gòu)._第4頁(yè)
第2章ARMcortexM3內(nèi)部結(jié)構(gòu)._第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第2章章ARM Cortex-M3內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)內(nèi)容內(nèi)容l2.1 ARM Cortex-M3簡(jiǎn)介簡(jiǎn)介l2.2 指令集指令集l2.3 流水線流水線l2.4 寄存器組寄存器組l2.5 操作模式和特權(quán)等級(jí)操作模式和特權(quán)等級(jí)l2.6 異常、中斷和向量表異常、中斷和向量表l2.7 存儲(chǔ)器映射存儲(chǔ)器映射l2.8 調(diào)試支持調(diào)試支持2.1 ARMCortex-M3簡(jiǎn)介簡(jiǎn)介lARM公司于公司于2006年推出了年推出了Cortex M3微處理器微處理器核核。lCortex-M3是較高效率(是較高效率(1.25DMIPS/MHz)低功耗)低功耗(0.19mW/MHz)、短中斷延時(shí))、短中斷延時(shí)(最少最少6周期周

2、期)、低調(diào)、低調(diào)試成本的試成本的32位標(biāo)準(zhǔn)處理器。位標(biāo)準(zhǔn)處理器。l哈佛結(jié)構(gòu):獨(dú)立的數(shù)據(jù)總線和指令總線哈佛結(jié)構(gòu):獨(dú)立的數(shù)據(jù)總線和指令總線l集成硬件乘法器(單周期)和除法器(集成硬件乘法器(單周期)和除法器(2-12周期)周期)l內(nèi)部的數(shù)據(jù)總線是內(nèi)部的數(shù)據(jù)總線是32位的,寄存器和存儲(chǔ)器接口也是位的,寄存器和存儲(chǔ)器接口也是32位位的。的。 lCortex-M3采用的采用的V7M架構(gòu)和指令集,它的速度比架構(gòu)和指令集,它的速度比ARM7快三分之一,功耗低四分之三??烊种?,功耗低四分之三。2.1 ARMCortex-M3簡(jiǎn)介簡(jiǎn)介嵌套向量中斷控制器NVIC包含異常和中斷管理異常由Cortex-M3定義中

3、斷由廠商定義系統(tǒng)基定時(shí)器SYSTICK簡(jiǎn)單的倒計(jì)時(shí)定時(shí)器一般用于整個(gè)軟件系統(tǒng)的基準(zhǔn)定時(shí)總線矩陣BusMatrix內(nèi)部總線系統(tǒng)的核心允許同時(shí)對(duì)不同區(qū)域進(jìn)行訪問(wèn)包含寫緩沖和位帶操作邏輯AHB到APB總線橋允許外部設(shè)備通過(guò)APB總線連接到內(nèi)核總線矩陣BusMatrix內(nèi)部總線系統(tǒng)的核心允許同時(shí)對(duì)不同區(qū)域進(jìn)行訪問(wèn)包含寫緩沖和位帶操作邏輯AHB到APB總線橋允許外部設(shè)備通過(guò)APB總線連接到內(nèi)核2.1 ARMCortex-M3簡(jiǎn)介簡(jiǎn)介嵌入式跟蹤宏單元ETM選配件實(shí)時(shí)的指令跟蹤跟蹤結(jié)果由TPIU輸出數(shù)據(jù)觀察點(diǎn)及跟蹤單元DWT:設(shè)置數(shù)據(jù)觀察點(diǎn),匹配后可觸發(fā)ETM可將數(shù)據(jù)信息輸出至ITM指令跟蹤宏單元ITM:該

4、模塊可以支持DWT的調(diào)試消息輸出調(diào)試消息輸出到TPIU跟蹤端口的接口單元TPIU:提供處理器和外部跟蹤設(shè)備的數(shù)據(jù)接口2.1 ARMCortex-M3簡(jiǎn)介簡(jiǎn)介閃存地址重載及斷點(diǎn)單元FPB支持6個(gè)硬件斷點(diǎn)地址匹配時(shí)產(chǎn)生斷點(diǎn)事件將匹配的Flash地址映射到SRAM中,可以用于加載數(shù)據(jù)或調(diào)試時(shí)調(diào)用子程序ROM表提供調(diào)試組件或廠商外設(shè)的存儲(chǔ)器映射信息2.1 ARMCortex-M3簡(jiǎn)介簡(jiǎn)介調(diào)試訪問(wèn)接口DAP提供調(diào)試器與Cortex-M3的訪問(wèn)接口2.1 ARMCortex-M3簡(jiǎn)介簡(jiǎn)介存儲(chǔ)器保護(hù)單元MPU選配件將存儲(chǔ)器分為多個(gè)區(qū)域并分別進(jìn)行保護(hù)2.1 ARMCortex-M3簡(jiǎn)介簡(jiǎn)介AHB-LiteAH

5、BAPB2.2 指令集指令集l舊版本指令集lARM:32位指令集lThumb:16位指令集l新版本指令集Thumb2指令集l消滅了狀態(tài)切換的額外開銷,節(jié)省了執(zhí)行時(shí)間和指令空間。lUAL(統(tǒng)一匯編語(yǔ)言)語(yǔ)法機(jī)制,由編譯器決定使用32位指令或16位指令。l不再需要把源代碼文件分成按 ARM 編譯的和按 Thumb 編譯的,軟件開發(fā)的管理大大減負(fù)。lCortex-M3指令集lThumb2指令集的子集l無(wú)協(xié)處理器指令l無(wú)SIMD(單指令多數(shù)據(jù)流)指令2.3 流水線流水線lCortex M3處理器使用一個(gè)3級(jí)流水線。l取指,解碼和執(zhí)行。流水線級(jí)數(shù)、流水線填充、分支預(yù)測(cè)2.4 寄存器組寄存器組l32位的處

6、理器內(nèi)核、32位的數(shù)據(jù)總線、32位的存儲(chǔ)器接口l32位的寄存器l通用寄存器l特殊功能寄存器2.4 寄存器組寄存器組l通用寄存器R0-R15lR0-R7低組寄存器lR8-R12高組寄存器lR13堆棧指針(SP)lMSP主堆棧指針lPSP進(jìn)程堆棧指針lR14鏈接寄存器(LR)lR15程序計(jì)數(shù)器(PC)2.4 寄存器組寄存器組l特殊功能寄存器特殊功能寄存器l只能由只能由MRS和和MSR指令進(jìn)行讀寫指令進(jìn)行讀寫l程序狀態(tài)寄存器組程序狀態(tài)寄存器組l中斷屏蔽寄存器組中斷屏蔽寄存器組l控制寄存器控制寄存器2.4 寄存器組寄存器組l程序狀態(tài)寄存器組程序狀態(tài)寄存器組l應(yīng)用程序應(yīng)用程序 PSR(APSR)l中斷號(hào)

7、中斷號(hào) PSR(IPSR)l執(zhí)行執(zhí)行 PSR(EPSR)2.4 寄存器組寄存器組l中斷屏蔽寄存器組中斷屏蔽寄存器組名字功能描述PRIMASK 這是個(gè)只有1個(gè)位的寄存器。當(dāng)它置1時(shí),就關(guān)掉所有可屏蔽的異常,只剩下NMI和硬fault可以響應(yīng)。它的缺省值是0,表示沒(méi)有關(guān)中斷。FAULTMASK 這是個(gè)只有1個(gè)位的寄存器。當(dāng)它置1時(shí),只有 NMI 才能響應(yīng),所有其它的異常,包括中斷和fault,通通屏蔽。它的缺省值也是0,表示沒(méi)有關(guān)異常。主要用于操作系統(tǒng)。BASEPRI 這個(gè)寄存器最多有9位(由表達(dá)優(yōu)先級(jí)的位數(shù)決定)它定義了被屏蔽優(yōu)先級(jí)的閾值。當(dāng)它被設(shè)成某個(gè)值后,所有優(yōu)先級(jí)號(hào)大于等于此值的中斷都被關(guān)

8、(優(yōu)先級(jí)號(hào)越大,優(yōu)先級(jí)越低)但若被設(shè)成0,則不關(guān)閉任何中斷,0也是缺省值。2.4 寄存器組寄存器組l控制寄存器控制寄存器位功能CONTROL1堆棧指針選擇0=選擇主堆棧指針 MSP(復(fù)位后缺省值)1=選擇進(jìn)程堆棧指針 PSP在線程級(jí)可以使用PSP。在handler模式下,只允許使用MSP,所以此時(shí)不得往該位寫1。CONTROL00=特權(quán)級(jí)的線程模式1=用戶級(jí)的線程模式Handler 模式永遠(yuǎn)都是特權(quán)級(jí)的。2.5 操作模式和特權(quán)等級(jí)操作模式和特權(quán)等級(jí)l操作模式操作模式lHandler mode:用于進(jìn)行異常處理:用于進(jìn)行異常處理lThread mode:用于運(yùn)行程序:用于運(yùn)行程序l特權(quán)等級(jí)特權(quán)等

9、級(jí)l特權(quán)級(jí):異常處理程序和特權(quán)程序(操作系統(tǒng))特權(quán)級(jí):異常處理程序和特權(quán)程序(操作系統(tǒng))l用戶級(jí):用戶應(yīng)用程序用戶級(jí):用戶應(yīng)用程序l無(wú)權(quán)訪問(wèn)無(wú)權(quán)訪問(wèn)NVIC,SYSTICK及調(diào)試跟蹤模塊的控制寄存及調(diào)試跟蹤模塊的控制寄存器且無(wú)法訪問(wèn)除器且無(wú)法訪問(wèn)除APSR外的特殊功能寄存器外的特殊功能寄存器2.5 操作模式和特權(quán)等級(jí)操作模式和特權(quán)等級(jí)l合法的模式切換方式2.6 異常、中斷和異常向量表異常、中斷和異常向量表l中斷中斷l(xiāng)CPU暫停當(dāng)前程序,暫停當(dāng)前程序,處理某一發(fā)生的事件,處理某一發(fā)生的事件,處理結(jié)束后返回當(dāng)前處理結(jié)束后返回當(dāng)前程序。程序。lCortex M3的中斷的中斷l(xiāng)240個(gè)可屏蔽中斷個(gè)可屏

10、蔽中斷l(xiāng)異常號(hào)異常號(hào)16-255l異常異常lCPU暫停當(dāng)前程序,處理暫停當(dāng)前程序,處理某一發(fā)生的事件或錯(cuò)誤,某一發(fā)生的事件或錯(cuò)誤,處理結(jié)束后返回當(dāng)前程序處理結(jié)束后返回當(dāng)前程序或進(jìn)行其他操作?;蜻M(jìn)行其他操作。lCortex M3的異常的異常l共共11個(gè)異常個(gè)異常l空異常(空異常(MSP初值)初值)l復(fù)位復(fù)位lNMI不可屏蔽中斷不可屏蔽中斷l(xiāng)P28表表2-42.6 異常、中斷和異常向量表異常、中斷和異常向量表lNVIC(Nested Vectored Interrupt Controller)l嵌套向量中斷控制器嵌套向量中斷控制器l可嵌套的中斷支持(基于優(yōu)先級(jí))可嵌套的中斷支持(基于優(yōu)先級(jí))l向量

11、中斷支持(基于向量表)向量中斷支持(基于向量表)l動(dòng)態(tài)優(yōu)先級(jí)調(diào)整支持動(dòng)態(tài)優(yōu)先級(jí)調(diào)整支持l中斷延遲大大縮短(自動(dòng)現(xiàn)場(chǎng)保護(hù)和恢復(fù))中斷延遲大大縮短(自動(dòng)現(xiàn)場(chǎng)保護(hù)和恢復(fù))l中斷可屏蔽中斷可屏蔽2.6 異常、中斷和異常向量表異常、中斷和異常向量表異常類型異常類型表項(xiàng)表項(xiàng)地址偏移量地址偏移量異常向量異常向量00 x00MSP 的初始值的初始值10 x04復(fù)位復(fù)位20 x08NMI30 x0C硬硬fault40 x10MemManage fault50 x14總線總線 fault60 x18用法用法 fault7 100 x1c 0 x28保留保留110 x2cSVC120 x30調(diào)試監(jiān)視器調(diào)試監(jiān)視器13

12、0 x34保留保留140 x38PendSV150 x3cSysTick160 x40IRQ #0170 x44IRQ #118 2550 x48 0 x3FFIRQ #2 #2392.7 存儲(chǔ)器映射存儲(chǔ)器映射I CodeD Code系統(tǒng)總線AHB外設(shè)總線APB低地址32MB位帶區(qū)2.8 調(diào)試支持調(diào)試支持l入侵式調(diào)試l停機(jī)以及單步執(zhí)行程序l硬件斷點(diǎn)l斷點(diǎn)指令(BKPT)l數(shù)據(jù)觀察點(diǎn),作用于單一地址、一個(gè)范圍的地址,以及數(shù)據(jù)的值。l訪問(wèn)寄存器的值(既包括讀,也包括寫)l調(diào)試監(jiān)視器異常l基于ROM 的調(diào)試l非入侵式調(diào)試l在內(nèi)核運(yùn)行的時(shí)候訪問(wèn)存儲(chǔ)器l指令跟蹤,需要通過(guò)可選的嵌入式跟蹤宏單元(ETM)l數(shù)據(jù)跟蹤l軟件跟蹤(通過(guò)ITM(指令跟蹤單元)l性能速寫(profiling)(通過(guò)數(shù)據(jù)觀察點(diǎn)以及跟蹤模塊)2.8 調(diào)試支持調(diào)試支持l基于CoreSight的調(diào)試訪問(wèn)接口(DAP)l總線接口:可以訪問(wèn)寄存器和存儲(chǔ)器l調(diào)試端口lSWJ-DP:JTAG及串行調(diào)試協(xié)議lSW-DP:串行調(diào)試協(xié)議lJTAG-DP:ARM CoreSight JTAG調(diào)試端口DP調(diào)試訪問(wèn)接口DAP內(nèi)核Cortex-M3小結(jié)小結(jié)l2.1 ARM Cortex-M3簡(jiǎn)介(簡(jiǎn)介(框圖,各主模塊基本功能框圖,各主模塊基本功能)l2.2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論