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