資料介紹
一、故障處理
故障是異常的一個(gè)子集,見第2-19頁的異常處理模型。在NMI或HardFault異常處理時(shí)發(fā)生的故障將會引起HardFault異常或?qū)е骆i定(Lockup)。故障包含:?執(zhí)行一條SVC指令,該指令的優(yōu)先級高于或等于SVCall。?缺少調(diào)試器連接時(shí),執(zhí)行BKPT指令。
? 在加載或存儲數(shù)據(jù)時(shí),系統(tǒng)產(chǎn)生總線錯(cuò)誤。
? 執(zhí)行XN存儲區(qū)的指令。
? 執(zhí)行來自系統(tǒng)已產(chǎn)生總線故障的地址位置的指令。
? 取向量時(shí)系統(tǒng)產(chǎn)生總線錯(cuò)誤。
? 執(zhí)行一條未定義的指令。
? T位已清為0,處理器不在Thumb狀態(tài)時(shí)執(zhí)行指令。
? 試圖讀取或保存數(shù)據(jù)到未對齊的地址。
注意:只有Reset和NMI能搶占具有固定優(yōu)先級的HardFault異常。而HardFault異常則能搶占除Reset、NMI或另一個(gè)HardFault異常之外的所有異常。
1、鎖定(Lock up)
以下這些情況處理器會進(jìn)入鎖定狀態(tài):執(zhí)行NMI或HardFault異常處理時(shí)發(fā)生故障;或在使用MSP異常返回時(shí),還沒有從堆?;謴?fù)PSR寄存器的值系統(tǒng)就產(chǎn)生總線錯(cuò)誤。當(dāng)處理器處于鎖定狀態(tài)時(shí),不能執(zhí)行任何指令。處理器將保持鎖定狀態(tài)直到以下情況之一發(fā)生:
? 處理器被復(fù)位;
? 調(diào)試器中止處理器運(yùn)行;
? 發(fā)生NMI異常,并且當(dāng)前鎖定是處于HardFault異常處理中。
注意:如果鎖定狀態(tài)出現(xiàn)在NMI異常處理中,后續(xù)的NMI異常不能導(dǎo)致處理器離開鎖定狀態(tài)。
二、功耗管理
Cortex-M0處理器的睡眠模式可減少功耗,睡眠模式是在處理器實(shí)現(xiàn)時(shí)定義的,可以是以下的一種或兩種:?停止處理器時(shí)鐘的睡眠模式。
? 深度睡眠模式,停止系統(tǒng)時(shí)鐘,并關(guān)掉PLL和flash存儲器。
如果處理器實(shí)現(xiàn)了兩種睡眠模式,則能提供不同級別的節(jié)能,SCR寄存器的SLEEPDEEP位用于選擇睡眠模式,見下文的系統(tǒng)控制寄存器。關(guān)于深度睡眠模式的更多信息見處理器提供商所提供的資料。本節(jié)將描述進(jìn)入睡眠模式的機(jī)制,以及從睡眠模式喚醒的條件。
1、進(jìn)入睡眠模式
本節(jié)描述使處理器進(jìn)入睡眠模式的軟件機(jī)制。
系統(tǒng)可能產(chǎn)生偽喚醒事件,例如,一個(gè)調(diào)試操作可喚醒處理器。因此軟件在此事件后,必須能重新讓處理器進(jìn)入睡眠模式。為了把處理器置回睡眠模式,程序可能需要一個(gè)空閑循環(huán)。
等待中斷指令
等待中斷指令WFI,能使處理器立即進(jìn)入睡眠模式,當(dāng)處理器執(zhí)行一條WFI指令時(shí),它停止執(zhí)行指令,并進(jìn)入睡眠模式,見第3-60頁的WFI以獲取更多的信息。
等待事件指令
等待事件指令,WFE,根據(jù)條件讓處理器進(jìn)入睡眠模式,條件是根據(jù)1位事件寄存器的值。當(dāng)處理器執(zhí)行一條WFE指令時(shí),它檢查事件寄存器的值:
0 處理器停止執(zhí)行指令,進(jìn)入睡眠模式。
1 處理器將寄存器該位的值置為0,并繼續(xù)執(zhí)行指令,不進(jìn)入睡眠模式。
如果事件寄存器的值為1,表明處理器在執(zhí)行WFE指令時(shí)不能進(jìn)入睡眠模式。典型的情況:這是由于一個(gè)外部事件信號的要求,或在多處理器系統(tǒng)中的另一個(gè)處理器執(zhí)行了一條SEV指令。軟件不能直接訪問這個(gè)寄存器。
異常退出時(shí)睡眠(sleep-on-exit)
如果SCR寄存器的SLEEPONEXIT位置為1,則當(dāng)處理器完成執(zhí)行一個(gè)異常處理并返回Thread模式時(shí),處理器立即進(jìn)入睡眠狀態(tài),這一機(jī)制用于僅僅需要處理器在中斷發(fā)生時(shí)才運(yùn)行的應(yīng)用中。
2、從睡眠模式喚醒
喚醒處理器的條件依賴于導(dǎo)致處理器進(jìn)入睡眠模式的機(jī)制。從WFI或sleep-on-exit產(chǎn)生的睡眠中喚醒正常情況下,處理器只在檢測到具有足夠優(yōu)先級的異常,并進(jìn)入異常時(shí)才會喚醒。
處理器喚醒后,在執(zhí)行中斷處理之前,某些嵌入式系統(tǒng)可能必須執(zhí)行系統(tǒng)恢復(fù)任務(wù)。這通過置PRIMASK位為1來實(shí)現(xiàn)。如果一個(gè)有中斷到達(dá),該中斷被允許,并比當(dāng)前異常的優(yōu)先級高,則處理器喚醒,但直到PRIMASK位置為0,處理器才執(zhí)行中斷處理。
從WFE產(chǎn)生的睡眠中喚醒
如果出現(xiàn)以下情況,處理器將被喚醒:
? 處理器檢測到一個(gè)足夠高優(yōu)先級的異常而進(jìn)入異常。
? 處理器檢測到一個(gè)外部事件信。
? 在多處理器系統(tǒng)中的另一個(gè)處理器執(zhí)行了一條SEV指令。
另外,如果SCR寄存器的SEVONPEND位置為1,任何一個(gè)新的掛起的中斷都能觸發(fā)一個(gè)事件并喚醒處理器,哪怕該中斷是禁止的或沒有足夠的優(yōu)先級而不能進(jìn)入異常。關(guān)于SCR的更多信息見第4-16頁的系統(tǒng)控制寄存器。
3、可選的喚醒中斷控制器
處理器可能包含了一個(gè)喚醒中斷控制器(WIC),WIC是一個(gè)可選的外設(shè),能檢測中斷并將處理器從深度睡眠模式喚醒。僅當(dāng)SCR寄存器的DEEPSLEEP位置1時(shí),WIC才被允許。
WIC是不可編程的,也沒有任何寄存器或用戶接口,完全通過硬件信號工作。
當(dāng)WIC被允許,處理器進(jìn)入深度睡眠模式時(shí),系統(tǒng)功耗管理單元能關(guān)閉Cortex-M0處理器大部分組成部分的功耗。但同時(shí)也有一個(gè)副作用,就是停止了系統(tǒng)滴答定時(shí)器。當(dāng)WIC接收到一個(gè)中斷時(shí),它需要花費(fèi)幾個(gè)時(shí)鐘周期喚醒處理器,并恢復(fù)處理器的狀態(tài),而后處理器才能處理中斷。這意味著在深度睡眠模式下,中斷延時(shí)增加了。
4、外部事件信號
處理器可能包含一個(gè)外部事件信號,處理器外設(shè)使用此信號與處理器聯(lián)絡(luò),用于處理器從WFE狀態(tài)喚醒;或?qū)?nèi)部的WFE事件寄存器置為1,以表示處理器在執(zhí)行下一個(gè)WFE指令后不能進(jìn)入深度睡眠模式。
5、功耗管理編程
ISO/IEC語言沒有直接產(chǎn)生WFI、WFE和SEV指令,CMSIS為這些指令提供以下內(nèi)部函數(shù):
void WFE(void)//WaitforEvent
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 到底64位處理器和32位處理器有什么區(qū)別呢?資料下載
- Cortex-M0處理器及其特性資料下載
- Cortex-M0處理器的編程模型資料下載
- Cortex-M0處理器的異常處理模型資料下載
- Cortex-M0處理器的存儲模型資料下載
- Cortex-M0處理器的權(quán)威指南英文原版免費(fèi)下載 0次下載
- Cortex-M4處理器的技術(shù)參考手冊免費(fèi)下載 43次下載
- CORTEX-M4處理器技術(shù)參考手冊詳細(xì)資料免費(fèi)下載 138次下載
- M3處理器的詳細(xì)原理圖資料免費(fèi)下載 58次下載
- 基于Cortex-M3處理器的開關(guān)磁阻電機(jī)控制器設(shè)計(jì) 9次下載
- 基于Cortex_M3處理器的智能建筑環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì) 9次下載
- 基于ARM Cortex-M3處理器的電源設(shè)計(jì)及應(yīng)用 14次下載
- 基于Cortex_M3處理器的__省略_MicroFramewo 0次下載
- 高性能低成本Cortex-M3處理器 27次下載
- ARM推出Cortex—M0處理器 29次下載
- 基于全志V853處理器的智能輔助駕駛算法介紹 805次閱讀
- Cortex-M0處理器內(nèi)核異常中斷簡介 4969次閱讀
- Cortex-M0處理器的中斷請求形式:電平觸發(fā)和脈沖輸入 1793次閱讀
- 淺談ARM處理器的基礎(chǔ)知識 2662次閱讀
- Cortex-M3處理器中斷和FreeRTOS中斷優(yōu)先級配置 7136次閱讀
- 對Cortex-A53處理器的性能分析及特點(diǎn)概述 14.1w次閱讀
- 分析Cortex-A7處理器與Cortex-A15處理器各自的優(yōu)勢及區(qū)別 6869次閱讀
- cortex-a9是什么處理器_cortex-a9處理器介紹 2.5w次閱讀
- 基于ARM架構(gòu)的8051應(yīng)用程序遷移過程 2348次閱讀
- a11處理器比a10快多少_A11處理器性能媲美英特爾i7? 1234次閱讀
- 驍龍625處理器與驍龍652處理器對比評測 10.4w次閱讀
- 為什么說Cortex-M是低功耗應(yīng)用的首選 3504次閱讀
- M33處理器的五大特色 2887次閱讀
- 32位嵌入式處理器與8位處理器應(yīng)用開發(fā)的區(qū)別 1579次閱讀
- 蘋果推出64位處理器:對手機(jī)而言,意味著什么? 4108次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多