第2章cortex-m3體系結(jié)構(gòu)_第1頁
第2章cortex-m3體系結(jié)構(gòu)_第2頁
第2章cortex-m3體系結(jié)構(gòu)_第3頁
第2章cortex-m3體系結(jié)構(gòu)_第4頁
第2章cortex-m3體系結(jié)構(gòu)_第5頁
已閱讀5頁,還剩76頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章Cortex-M3體系結(jié)構(gòu)

Cortex-M3System

structure

精選ppt第2章Cotex-M3體系結(jié)構(gòu)主要內(nèi)容CM3微處理器核結(jié)構(gòu)處理器的工作模式和狀態(tài)存放器、總線接口存儲器的組織與映射指令集、流水線、異常和中斷存儲器保護單元STM32微控制器概述精選ppt2.1CM3微處理器核結(jié)構(gòu)CM3微處理器核結(jié)構(gòu)CM3微處理器特點精選ppt2.1.1CM3內(nèi)核微控制器結(jié)構(gòu)

CM3核調(diào)試模塊外設(shè)存儲器時鐘和復位I/O內(nèi)部總線CM3CPU精選ppt2.1.2CM3微處理器結(jié)構(gòu)

CM3內(nèi)核精選ppt2.1.3CM3微處理器內(nèi)核結(jié)構(gòu)

控制邏輯32位ALU乘法器除法器NVIC接口總線接口跟蹤調(diào)試接口Thunb解碼器Thunb-2解碼器運算器精選ppt2.1.4CM3微處理器的特點哈弗結(jié)構(gòu)支持低功耗模式分組堆棧支持非對齊數(shù)據(jù)訪問統(tǒng)一的存儲器映射位綁定操作32位硬件除法和乘法器中斷響應快速且支持多級中斷嵌套支持串行調(diào)試swd精選ppt2.1.4CM3微處理器的特點---指令方面ARMv7-M:Thumb-2ISA子集,包含所有根本的16位和32位Thumb-2指令。只有SP是分組的,存放器集比ARM7簡單。硬件除法指令,SDIV和UDIV〔Thumb-2指令〕處理模式〔handlermode〕和線程模式〔threadmode〕Thumb狀態(tài)和調(diào)試狀態(tài)可中斷-可繼續(xù)的LDM/STM、PUSH/POP指令,實現(xiàn)低中斷延遲。中斷時自動保存和恢復處理器狀態(tài)支持8位、16位和32位等非對齊訪問。精選ppt外部中斷可配置為1~240個優(yōu)先級位可配置為1~8位中斷優(yōu)先級可動態(tài)地重新配置。優(yōu)先級分組,分為占先中斷等級和非占先中斷等級。支持末尾連鎖〔tail-chaining〕和遲來〔latearrival〕中斷,減少了進出棧時間。處理器狀態(tài)在進入中斷時自動保存,中斷退出時自動恢復,不需要多余的指令。2.1.4CM3微處理器的特點---中斷方面精選ppt8個存儲器區(qū)。子區(qū)禁止功能(SRD),實現(xiàn)對存儲器區(qū)的有效使用??墒鼓鼙尘皡^(qū),執(zhí)行默認的存儲器映射屬性。MPU〔存儲器保護單元〕可裁剪2.1.4CM3微處理器的特點---存儲器保護方面精選pptAHB標準的ICode、DCode和系統(tǒng)總線接口APB專用外設(shè)總線〔PPB〕接口Bitband支持,bit-band的原子寫和讀訪問。存儲器訪問對齊寫緩沖區(qū),用于緩沖寫數(shù)據(jù)。2.1.4CM3微處理器的特點---總線方面精選ppt當內(nèi)核正在運行、被中止、或處于復位狀態(tài)時,能對系統(tǒng)中包括Cortex-M3存放器組在內(nèi)的所有存儲器和存放器進行調(diào)試訪問。兩種調(diào)試端口:2線串行〔SW-DP〕口或JTAG〔JTAG-DP〕口。Flash地址重載和斷點單元(FPB),實現(xiàn)斷點和代碼修補。數(shù)據(jù)觀察點〔DWT〕程序指令跟蹤宏單元(ITM),支持printf類型的調(diào)試可選的嵌入式跟蹤宏單元(ETM),實現(xiàn)指令跟蹤。跟蹤端口單元(TPIU),連接跟蹤端口分析儀。2.1.4CM3微處理器的特點---調(diào)試方面精選pptARM7TDMICortex-M3架構(gòu)ARMv4T(馮.若依曼)ARMv7-M(哈佛)ISA支持Thumb/ARMThumb/Thumb-2流水線3級3級+分支預測中斷FIQ/IRQ240個物理中斷中斷延時24—42個時鐘周期12個時鐘(末尾連鎖僅6個)休眠保護無內(nèi)置存儲器保護無8段存儲器保護單元硬件除法無2—12個時鐘周期運行速度0.95DMIPS/MHz1.25DMIPS/MHz功耗0.28mW/MHz0.19mW/MHz面積0.62mm2(僅內(nèi)核)0.86mm2(內(nèi)核+外設(shè))2.1.4CM3微處理器的特點---與ARM7TDMI比較精選ppt2.2CM3的工作模式及狀態(tài)訪問級別:特權(quán)級和用戶級 出于平安考慮,防止意外、惡意訪問破壞重要數(shù)據(jù)。工作模式:處理模式和線程模式 分別用于處理異常和普通程序工作狀態(tài):Thumb狀態(tài)和調(diào)試狀態(tài) Thumb狀態(tài):16位和32位“半字對齊〞的Thumb和Thumb-2指令的執(zhí)行狀態(tài)。 調(diào)試狀態(tài):處理器停止并進行調(diào)試的狀態(tài)。精選ppt特權(quán)(級)訪問和用戶(級)訪問處理模式線程模式特權(quán)訪問用戶訪問始終特權(quán)訪問精選ppt特權(quán)執(zhí)行可以訪問所有資源。非特權(quán)對有些資源的訪問受到限制或不允許訪問。如局部指令(設(shè)置FAULTMASK和PRIMASK的CPS指令)。對系統(tǒng)控制空間〔SCS〕的大局部存放器的訪問。特權(quán)訪問和用戶訪問(非特權(quán)訪問)的區(qū)別FAULTMASKPRIMASKSCS……用戶訪問特權(quán)訪問精選ppt1.線程模式CM3處理器支持兩種工作模式:線程模式和處理模式

2.處理模式在復位時處理器進入線程模式異常返回時處理器進入線程模式在線程模式下,所有代碼可由特權(quán)級和用戶級訪問出現(xiàn)異常時處理器進入處理模式在處理模式中,所有代碼只能由特權(quán)級訪問精選pptCM3操作模式的轉(zhuǎn)換線程模式特權(quán)訪問復位處理模式特權(quán)訪問異常線程模式用戶訪問異常異常退出CONTROL[0]=1CONTROL[0]=0MSR指令置位CONTROL[0]精選ppt2.3CM3的存放器通用存放器〔R0—R7、R8—R12〕堆棧指針〔R13〕鏈接存放器〔R14〕程序計數(shù)器〔R15〕程序狀態(tài)存放器〔APSR、IPSR、EPSR〕異常中斷存放器〔PRIMASK、FAULTMASK、BASEPRI〕控制存放器〔CONTROL〕精選ppt1、32位通用存放器R0R1R2R3R4R5R6R7R8R9R10R11R12R13(SP)R14(LR)R15(PC)XPSRr0~r12,為13個通用存放器低存放器,r0-r7可以被指定通用存放器的所有指令訪問高存放器,r8-r12可以被指定通用存放器的所有32位指令訪問,不能被16位指令訪問。SP_processSP_main精選ppt2、分組的堆棧指針〔R13〕/〔SP〕R0R1R2R3R4R5R6R7R8R9R10R11R12R13(SP)R14(LR)R15(PC)XPSRSP_mainSP_process處理模式線程模式可用MSP始終使用MSP也可用PSP進程堆棧指針主堆棧指針精選ppt通過MSR指令修改CONTROL[1]進行堆棧切換線程模式主堆棧線程模式進程堆棧CONTROL[1]主堆棧進程堆棧10控制存放器的第1位一般通過中斷返回進行堆棧切換,MSR指令切換用的極少。精選ppt3、鏈接存放器〔LR/R14〕R0R1R2R3R4R5R6R7R8R9R10R11R12R13(SP)R14(LR)R15(PC)XPSR鏈接存放器〔LR〕在執(zhí)行分支(branch)和鏈接(BL)指令或帶有交換的分支和鏈接指令(BLX)時,LR用于保存PC的返回地址。主要用于保存子程序的返回地址。LR也用于異常返回。精選ppt4、程序計數(shù)器R15〔PC〕R0R1R2R3R4R5R6R7R8R9R10R11R12R13(SP)R14(LR)R15(PC)XPSR程序計數(shù)器〔PC〕程序計數(shù)器總是指向正在取指的指令。程序狀態(tài)存放器〔XPSR〕用于指示程序的運行狀態(tài)。精選ppt5、XPSR----程序狀態(tài)存放器執(zhí)行狀態(tài)存放器(EPSR)應用狀態(tài)存放器(APSR)中斷狀態(tài)存放器(IPSR)精選pptAPSR的位分配負數(shù)或小于標志:1:結(jié)果為負數(shù)或小于0:結(jié)果為正數(shù)或大于

零標志:1:結(jié)果為00:結(jié)果為非0溢出標志:1:溢出0:沒有溢出進位/借位標志:1:進位或借位0:沒有進位或借位飽和〔stickysaturation〕標志程序狀態(tài)存放器----應用狀態(tài)存放器(APSR)3130292827260NZCVQ保留精選ppt程序狀態(tài)存放器----中斷狀態(tài)存放器(IPSR)IPSR為當前被響應的異常的ISR編號。IPSR的位分配ISRNUMBER根底級別=0Reset=1NMI=2SVCall=11......31980保留中斷號精選ppt程序狀態(tài)存放器----執(zhí)行狀態(tài)存放器(EPSR)為什么需要執(zhí)行狀態(tài)存放器EPSR?LDM、STM和If-then指令,為多周期指令,如果在執(zhí)行以上多周期指令時發(fā)生異常,處理器會暫時停止以上指令的操作,進入異常,這時需要保護現(xiàn)場。LDM指令STEP1STEP2STEP3STEP4異常異常程序EPSR使用的是[26:24]和[15:10]位精選ppt6、異常中斷存放器6-1中斷屏蔽存放器〔PRIMASK〕相當于中斷總開關(guān),為1,所有中斷被屏蔽;為0,中斷能正常響應。PRIMASK屏蔽所有中斷響應中斷10只有最低位有效精選ppt6-2中斷屏蔽存放器BASEPRI可屏蔽等于和低于某個優(yōu)先級的中斷。例如,把BASEPRI設(shè)置為0X40〔即2<<5〕,那么2和2以上優(yōu)先級的中斷被屏蔽,只有0和1優(yōu)先級的中斷不被屏蔽。注:BASEPRI與優(yōu)先級分組有關(guān),stellaris系列處理器使用高3位來配置。BASEPRI2優(yōu)先級0優(yōu)先級1優(yōu)先級2優(yōu)先級3優(yōu)先級4….中斷被屏蔽中斷可響應精選ppt7、控制存放器CONTROLCONTROL[1:0]由兩個狀態(tài)位組成:CONTROL[1]CONTROL[0]0主堆棧特權(quán)級1進程堆棧用戶級精選ppt寄存器名稱功能編號APSR應用狀態(tài)寄存器0IAPSRAPSR和IPSR的組合1EAPSR

APSR和EPSR的組合2XPSRAPSR、EPSR和IPSR的組合3IPSR中斷狀態(tài)寄存器

5EPSR執(zhí)行狀態(tài)寄存器6IEPSRIPSR和EPSR的組合7MSP主堆棧指針8PSP進程堆棧指針9PRIMASK中斷屏蔽寄存器16BASEPRI可屏蔽等于和低于某個優(yōu)先級的中斷17BASEPRI_MAXBASEPRI允許設(shè)置的最大值18FAULTMASK錯誤屏蔽寄存器19CONTROL控制寄存器20存放器總結(jié)精選ppt2.4CM3的總線接口主要內(nèi)容ARM的總線標準CM3的總線結(jié)構(gòu)精選ppt2.4.1ARM總線標準ARM微控制器使用的是AMBA總線體系結(jié)構(gòu) AMBA〔AdvancedMicrocontrollerBusArchitecture〕是ARM公司公布的總線標準,先進的AMBA標準定義了2種總線:AHB總線〔AdvancedHigh-performanceBus〕:用于連接高性能系統(tǒng)模塊。它支持突發(fā)數(shù)據(jù)傳輸〔不間斷的連續(xù)傳輸〕方式及單個數(shù)據(jù)傳輸方式,所有時序參考同一個時鐘沿。APB總線〔AdvancePeripheralBus〕:是一個簡單接口支持低性能的外圍接口。精選ppt2.4.2CM3總線結(jié)構(gòu) 1、ICode:傳送指令指令存儲區(qū)總線(0x0—0x1fffffff,AHB)2、DCode:傳送數(shù)據(jù)、調(diào)試數(shù)據(jù)指令存儲區(qū)總線(0x0—0x1fffffff,AHB)

3、系統(tǒng)總線(AHB)

訪問存儲區(qū)、片上設(shè)備、片外設(shè)備 訪問區(qū)域:系統(tǒng)存儲0x20000000—0xdfffffff, 0xe0100000—0xffffffff4、內(nèi)部專用外設(shè)總線(0xe0000000--0xe003ffff,AHB)

訪問CM3內(nèi)部組件:NVIC、DWT、FPB、MPU 5、外部專用外設(shè)總線(0xe0040000--0xe00fffff,APB)

訪問CM3外部組件:ETM、TPIU、ROM表 精選pptCortex-M3模塊的內(nèi)部方框圖精選ppt2..5.1數(shù)據(jù)類型與存儲器格式Cortex-M3既可使用大端格式也可使用小端格式訪問存儲器。Cortex-M3處理器有一個可配置引腳BIGEND,用來選擇小端格式或大端格式。通常是以小端格式訪問代碼,小端格式是ARM處理器的默認存儲器格式。2.5存儲器的組織與映射精選ppt小端數(shù)據(jù)格式高字節(jié)在高地址,低字節(jié)在低地址精選ppt大端數(shù)據(jù)格式字低節(jié)在高地址,高字節(jié)在低地址精選ppt1、RAM:〔1〕靜態(tài)RAM:cache〔2〕動態(tài)RAM:內(nèi)存2、ROM:只讀3、Flash:〔1〕NANDFlash:區(qū)塊讀寫,大容量〔2〕NORFlash:隨機讀寫,容量小,可運行裝載在其中的代碼2..5.2存儲器層次結(jié)構(gòu)精選ppt2.5.3存儲組織Cortex-M3處理器的存儲系統(tǒng)采用統(tǒng)一編址方式;程序存儲器、數(shù)據(jù)存儲器、存放器以及輸入輸出端口被組織在同一個4GB的線性地址空間內(nèi);小端方式存放。Cortex-M3

系列處理器將可訪問的存儲器空間被分成8個主塊。精選ppt精選ppt2.5.4STM32存儲器映射1系統(tǒng)總線構(gòu)架四個主動單元:Cortex-M3內(nèi)核的ICode總線〔I-bus〕、DCode總線〔D-bus〕、System總線〔S-bus〕和通用DMA〔GP-DMA〕。四個被動單元:內(nèi)部SRAM、內(nèi)部Flash存儲器、FSMC、AHB到APB的橋〔AHB2APBx,連接所有的APB設(shè)備〕。精選ppt精選ppt總線結(jié)構(gòu)中各單元的功能ICode總線:將Flash存儲器指令接口與Cortex-M3內(nèi)核的指令總線相連接,用于指令預取;DCode總線:將Flash存儲器的數(shù)據(jù)接口與Cortex-M3內(nèi)核的DCode總線相連接,用于常量加載和調(diào)試訪問;System總線:將Cortex-M3內(nèi)核的System總線〔外設(shè)總線〕連接到總線矩陣;精選pptDMA總線:

將DMA的AHB主控接口與總線矩陣相連;總線矩陣:

用于連接三個主動單元部件和三個被動單元,負責協(xié)調(diào)和仲裁Cortex-M3內(nèi)核和DMA對SRAM的訪問,仲裁采用輪換算法。

AHB/APB橋:

兩個AHB/APB橋在AHB和2個APB總線之間提供完全同步連接。精選ppt2STM32存儲器映射STM32系列處理器將可訪問的存儲器空間被分成8個主塊,每個塊為512MB。見圖2-13外設(shè)地址見表2-9、表2-10、表2-11精選ppt2.5.5位帶操作支持了位帶操作后可以使用普通的指令來對單一的比特進行讀寫。在CM3中,有兩個區(qū)中實現(xiàn)了位帶操作。其中一個是SRAM區(qū)的最低1MB范圍,第二個那么是片內(nèi)外設(shè)區(qū)的最低1MB范圍。這兩個區(qū)中的地址除了可以像普通的RAM一樣使用外,它們還都有自己的“位帶別名區(qū)〞,位帶別名區(qū)把每個比特膨脹成一個32位的字。當你通過位帶別名區(qū)訪問這些字時,就可以到達訪問原始比特的目的。精選ppt精選ppt位帶操作的概念其實30年前就有了,8051單片機開創(chuàng)的先河。這里的位帶操作是8051位尋址區(qū)的威力大幅加強版。CM3使用如下術(shù)語來表示位帶存儲的相關(guān)地址位帶區(qū):支持位帶操作的地址區(qū);位帶別名:對別名地址的訪問最終作用到帶區(qū)的訪問上〔注意:這中途有一個作地址映射過程〕。精選ppt支持位帶操作的兩個內(nèi)存區(qū)的范圍0x2000_0000‐0x200F_FFFF〔SRAM區(qū)中的最低1MB〕0x4000_0000‐0x400F_FFFF〔片上外設(shè)區(qū)中的最低1MB〕精選ppt對于SRAM位帶區(qū)的某個比特,記它所在字節(jié)地址為A,位序號為n(0<=n<=7),那么該比特在別名區(qū)的地址為:AliasAddr=0x22000000+((A‐0x20000000)*8+n)*4=0x22000000+(A‐0x20000000)*32+n*4精選ppt對于片上外設(shè)位帶區(qū)的某個比特,記它所在字節(jié)的地址為A,位序號為n(0<=n<=7),那么該比特在別名區(qū)的地址為:AliasAddr=0x42000000+((A‐0x40000000)*8+n)*4=0x42000000+(A‐0x40000000)*32+n*4精選ppt精選ppt2.6指令集Cortex‐M3只使用Thumb‐2指令集。在過去,做ARM開發(fā)必須處理好兩個狀態(tài)。它們是:32位的ARM狀態(tài)和16位的Thumb狀態(tài)。當處理器在ARM狀態(tài)下時,所有的指令均是32位的〔哪怕只是個〞NOP〞指令〕,此時性能相當高。而在Thumb狀態(tài)下,所有的指令均是16位的,代碼密度提高了一倍。不過,thumb狀態(tài)下的指令功能只是ARM下的一個子集,結(jié)果可能需要更多條的指令去完成相同的工作,導致處理性能下降。精選ppt為了取長補短,很多應用程序都混合使用ARM和Thumb代碼段。然而,這種混合使用是有額外開銷〔overhead〕的,時間上的和空間上的都有,主要發(fā)生在狀態(tài)切換之時。另一方面,ARM代碼和Thumb代碼需要以不同的方式編譯,這也增加了軟件開發(fā)管理的復雜度。精選ppt伴隨著Thumb‐2指令集出現(xiàn),終于可以在單一的操作模式下完成所有處理了。事實上,Cortex‐M3內(nèi)核干脆都不支持ARM指令,中斷也在Thumb態(tài)下處理〔以前的ARM總是在ARM狀態(tài)下處理所有的中斷和異?!?。它使CM3在好幾個方面都比傳統(tǒng)的ARM處理器更先進:消滅了狀態(tài)切換的額外開銷,節(jié)省了兩者的執(zhí)行時間和指令空間。不再需要把源代碼文件分成按ARM編譯的和按Thumb編譯的,軟件開發(fā)的管理大大減負。無需再反復地求證和測試:究竟該在何時何地切換到何種狀態(tài)下程序才最有效率。開發(fā)軟件容易多了。精選pptCortex-M3的流水線分為3級,分別為:取指譯碼執(zhí)行取指譯碼執(zhí)行從存儲器裝載一條指令識別將要被執(zhí)行的指令處理指令并將結(jié)果寫回寄存器在譯碼時進行分支預測,遇跳轉(zhuǎn)指令也不會打斷流水線PC值總是指向正在去取指的指令2.7流水線精選ppt指令1指令2指令3指令4…………程序存儲器周期1周期2周期3周期4周期5周期6取指譯碼執(zhí)行取指譯碼執(zhí)行取指譯碼執(zhí)行取指譯碼執(zhí)行周期2周期1周期3周期4處理器執(zhí)行一條指令的三個階段

在第1個周期,PC指向指令1,此時指令1進入三級流水線的取指階段。1精選ppt指令1指令2指令3指令4…………程序存儲器周期1周期2周期3周期4周期5周期6取指譯碼執(zhí)行取指譯碼執(zhí)行取指譯碼執(zhí)行取指譯碼執(zhí)行周期2周期1周期3周期4處理器執(zhí)行一條指令的三個階段

在第2個周期,PC指向指令2,此時指令1進入三級流水線的譯碼階段,同時取出指令2。2精選ppt指令1指令2指令3指令4…………程序存儲器周期1周期2周期3周期4周期5周期6取指譯碼執(zhí)行取指譯碼執(zhí)行取指譯碼執(zhí)行取指譯碼執(zhí)行周期2周期1周期3周期4處理器執(zhí)行一條指令的三個階段

在第3個周期,PC指向指令3,此時指令1進入三級流水線的執(zhí)行階段,指令2進入譯碼階段,取出指令3。3精選ppt指令1指令2指令3指令4…………程序存儲器周期1周期2周期3周期4周期5周期6取指譯碼執(zhí)行取指譯碼執(zhí)行取指譯碼執(zhí)行取指譯碼執(zhí)行周期2周期1周期3周期4處理器執(zhí)行一條指令的三個階段

在第4個周期,指令1執(zhí)行完成,指令2和指令3流水線推進一級,同時開始指令4的取指處理。4精選ppt2.8異常和中斷主要內(nèi)容異常和中斷的概念嵌套式向量中斷控制器中斷、異常過程搶占 咬尾晚到 返回精選ppt

2.8.1異常和中斷的概念 異常概念:在正常的程序執(zhí)行過程中發(fā)生非正常情況〔包括訪問存儲器〔含取指〕失敗、遇到未定義指令、執(zhí)行中斷指令、數(shù)據(jù)溢出、調(diào)試程序、軟復位等非正常情況〕使CPU停止正在執(zhí)行的程序,并轉(zhuǎn)去執(zhí)行相應的處理程序,這樣的情況叫作異常。 中斷:是指各種設(shè)備請求CPU處理特定的操作,包括傳輸信息、處理故障等。 異常是與程序同步的,中斷是異步的隨機的。 異常的處理方法與中斷一樣,后面不再區(qū)分。精選ppt系統(tǒng)異?!仓袛唷呈裁词钱惓#恐灰5某绦虮粫簳r中止,處理器就進入異常模式。 異常包括復位、系統(tǒng)故障、外設(shè)中斷等事件。 ARMCortex-M3處理器的所有異??梢酝ㄟ^NVIC〔嵌套向量中斷控制器〕進行控制,通過NVIC可以設(shè)置各個異常的優(yōu)先等級并對異常進行處理。 所有異常都在處理器模式〔HandlerMode〕中處理。精選ppt系統(tǒng)異?!仓袛唷矯ortex-M3處理器有哪些異常? 系統(tǒng)復位、NMI〔不可屏蔽中斷〕、硬件故障、存儲器管理、總線故障、使用故障、SVCall〔軟件中斷〕、調(diào)試監(jiān)控和IRQ中斷等。 IRQ中斷也分為CortexM3內(nèi)自帶的PendSV〔系統(tǒng)效勞請求〕、SysTick(系統(tǒng)節(jié)拍定時器),和與芯片外設(shè)相關(guān)的外部中斷。精選ppt異常類型表異常類型位置優(yōu)先級描述-0-向量表的第一項,作為棧頂?shù)刂窂臀?-3(高)在上電和熱復位時調(diào)用。這是異步的。不可屏蔽中斷2-2不可屏蔽(NMI),也不會被復位之外的任何異常搶占??捎绍浖ㄟ^NVIC中斷控制狀態(tài)寄存器產(chǎn)生。異步的。硬故障3-1當故障由于優(yōu)先級或者是可配置的故障處理程序被禁能而無法激活時,都會以硬故障的方式激活。同步的。存儲器管理4可調(diào)MPU不匹配,包括訪問沖突和不匹配。是同步的??偩€故障5可調(diào)預取指、存儲器訪問,即與地址/數(shù)據(jù)(代碼)相關(guān)的故障。精確的總線故障是同步的,不精確的總線故障是異步的。精選ppt異常類型表異常類型位置優(yōu)先級描述使用故障6可調(diào)使用故障,例如執(zhí)行未定義的指令或試圖進行非法的狀態(tài)轉(zhuǎn)變。這是同步的。-7-10-保留。SVCall11可調(diào)使用SWI指令的系統(tǒng)服務(wù)調(diào)用。同步的。調(diào)試監(jiān)控器12可調(diào)調(diào)試監(jiān)控器(當沒有暫停(Halt)時)。這是同步的,但僅在使能時有效。-13-保留。PendSV14可調(diào)系統(tǒng)服務(wù)的可掛起SWI指令。SysTick15可調(diào)系統(tǒng)節(jié)拍定時器中斷。這是異步的。外中斷16-255可調(diào)中斷在ARMCortex-M3內(nèi)核之外發(fā)出且通過NVIC返回(區(qū)分優(yōu)先級)。這些都是異步的。精選pptCortex-M3異常有哪些特點?自動的狀態(tài)保存和恢復。處理器在進入ISR之前將狀態(tài)存放器和局部存放器自動壓棧,退出ISR之后它們自動出棧,不需要多余的指令。自動讀取代碼存儲器或SRAM中包含ISR地址的向量表入口。該操作與狀態(tài)保存同時執(zhí)行。支持末尾連鎖,在末尾連鎖中,處理器在兩個ISR之間不需要對存放器進行出棧和壓棧操作的情況下處理背對背中斷。中斷優(yōu)先級可動態(tài)重新設(shè)置。Cortex-M3與NVIC之間采用緊耦合〔closely-coupled〕接口,通過該接口可以及早地對中斷和高優(yōu)先級的遲來中斷進行處理。中斷數(shù)目可配置為1~240。中斷優(yōu)先級的數(shù)目可配置為1~8位〔1~256級。Stellaris系列單片機只支持8級〕。處理模式和線程模式具有獨立的堆棧和特權(quán)等級。使用C/C++標準的調(diào)用標準:ARM架構(gòu)的過程調(diào)用標準〔PCSAA〕執(zhí)行ISR控制傳輸。優(yōu)先級屏蔽支持臨界區(qū)〔關(guān)中斷,使程序不被高優(yōu)先級異常中斷〕。精選ppt異常基于優(yōu)先級的動作---占先用戶程序中斷1中斷2優(yōu)先級2

中斷1中斷2壓棧

溫馨提示

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

評論

0/150

提交評論