在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

處理器中異常和中斷解決

單片機(jī)匠人 ? 來源:張飛實(shí)戰(zhàn)電子 ? 作者:黃忠老師 ? 2021-10-12 17:14 ? 次閱讀

異常是能夠引起程序流偏離正常流程的事件,當(dāng)異常發(fā)生時(shí),正在執(zhí)行的程序就會(huì)被掛起,處理器轉(zhuǎn)而執(zhí)行一塊與該事件相關(guān)的代碼(異常處理)。事件可以是外部輸入,也可以是內(nèi)部產(chǎn)生的,外部產(chǎn)生的事件通常被稱作中斷或中斷請(qǐng)求(IRQ)。幾乎所有的現(xiàn)代處理器都支持異常和中斷,微控制器的中斷可以由片上外設(shè)或軟件產(chǎn)生。由此可見,通常我們處理的中斷是異常的一種。

每種異常類型都有對(duì)應(yīng)的優(yōu)先級(jí),有些異常的優(yōu)先級(jí)是固定的,有些是可編程的。

先說幾個(gè)概念:

1、不可屏蔽中斷(NMI)

NMI同IRQ類似,只是它不能被禁止,并且優(yōu)先級(jí)僅次于復(fù)位,它對(duì)于工業(yè)控制和汽車之類的高可靠性系統(tǒng)非常有用。根據(jù)微控制器設(shè)計(jì)的不同,NMI可以用于掉電處理,也可以連接到看門狗單元,以便在系統(tǒng)停止響應(yīng)時(shí)將系統(tǒng)復(fù)位。由于NMI不能被控制寄存器禁止,其響應(yīng)的及時(shí)性就得到了保證。

2、硬件錯(cuò)誤

硬件錯(cuò)誤異常用于處理程序執(zhí)行時(shí)產(chǎn)生的錯(cuò)誤,這些錯(cuò)誤可以是試圖執(zhí)行未知的操作碼、總線接口或存儲(chǔ)器系統(tǒng)的錯(cuò)誤,也可以是試圖切換至ARM狀態(tài)之類的非法操作。

3、SVC(請(qǐng)求管理調(diào)用)

SVC指令執(zhí)行時(shí)就會(huì)產(chǎn)生SVC異常,其通常用在具有操作系統(tǒng)的系統(tǒng)中,為應(yīng)用程序提供了訪問系統(tǒng)服務(wù)的入口。

4、PendSV(可掛起的系統(tǒng)調(diào)用)

PendSV是用于帶OS(操作系統(tǒng))的應(yīng)用程序的另外一個(gè)異常,SVC異常在SVC指令執(zhí)行后會(huì)馬上開始,PendSV在這點(diǎn)上有所不同,它可以延遲執(zhí)行,在OS上使用PendSV就要確保高優(yōu)先級(jí)任務(wù)完成后才執(zhí)行系統(tǒng)調(diào)度。

5、系統(tǒng)節(jié)拍

NVIC中的SysTick定時(shí)器為OS應(yīng)用可以利用的另外一個(gè)特性。幾乎所有操作系統(tǒng)的運(yùn)行都需要上下文切換,而這一過程通常需要依靠定時(shí)器產(chǎn)生定時(shí)中斷來完成。

6、中斷

中斷信號(hào)可以連接到片上外設(shè),也可以通過IO端口連接到外部中斷源上。外部中斷只有在使能后才能使用,如果中斷被禁止了,或者處理器正在運(yùn)行另外一個(gè)相同或更高優(yōu)先級(jí)的異常處理,則該中斷請(qǐng)求會(huì)被存儲(chǔ)在掛起狀態(tài)寄存器中。當(dāng)高優(yōu)先級(jí)的中斷處理完成或返回后,掛起的中斷請(qǐng)求才可以執(zhí)行。NVIC能夠接受的中斷請(qǐng)求信號(hào)可以是高邏輯電平,也可以是中斷脈沖。應(yīng)該注意的是,在微控制器的外部接口中,外部中斷信號(hào)可以是高電平也可以是低電平,或者可以通過編程配置。

異常的處理流程:

1、接受異常請(qǐng)求

處理器要接受一個(gè)異常,需要滿足的條件:

①對(duì)于中斷和SysTick中斷請(qǐng)求,中斷必須使能

②處理器正在執(zhí)行的異常處理的優(yōu)先級(jí)不能相同或更大

③中斷屏蔽寄存器沒有屏蔽掉異常

特別注意一點(diǎn):對(duì)于SVC異常,如果用到SVC指令的異常處理的優(yōu)先級(jí)與SVC異常本身相同或更大,這種情況就會(huì)引起硬件錯(cuò)誤異常處理的執(zhí)行。

2、壓棧和出棧

為了使被中斷的程序能正確繼續(xù)執(zhí)行,在程序切換至異常處理前,處理器當(dāng)前狀態(tài)的一部分應(yīng)該被保存。不同架構(gòu)處理器的處理方法不同,有的采用硬件自動(dòng)處理的方法來備份和恢復(fù)處理器狀態(tài),看需求,有的是需要程序中增加軟件處理過程。

異常處理過程執(zhí)行到最后時(shí),將會(huì)利用執(zhí)行特殊值來觸發(fā)異常返回機(jī)制。處理器還會(huì)查看當(dāng)前是否還有其他異常需要處理,如果沒有,處理器就會(huì)恢復(fù)之前存儲(chǔ)在??臻g的寄存器值,并繼續(xù)執(zhí)行中斷前的程序。

自動(dòng)保存和恢復(fù)寄存器內(nèi)容的操作被稱為“壓?!焙汀俺鰲!?,這種機(jī)制使得異常處理可以跟普通的C函數(shù)一樣處理,同時(shí)也減小了軟件開銷以及回路大小,因此也降低了系統(tǒng)的功耗。

3、異常返回指令

根據(jù)處理器的不同中斷處理返回有的需要特殊指令,一般都是普通的返回指令,加載到PC中的數(shù)值則會(huì)觸發(fā)異常返回,這樣就使得異常處理可以和普通的C函數(shù)一樣使用。

兩個(gè)不同的指令可以用于異常返回:

BX 《Reg》q ;將寄存器中的值加載到PC中

POP {《Reg1》,《Reg1》,。..,PC} ;POP指令,PC也是更新的寄存器之一

當(dāng)其中一個(gè)指令執(zhí)行,異常返回機(jī)制就會(huì)啟動(dòng)。

4、末尾連鎖

如果當(dāng)其他的異常處理完成后,還有異常處于掛起狀態(tài),這時(shí)處理器不會(huì)返回到中斷前的程序,而是重新進(jìn)入異常處理流程,這也被稱作末尾連鎖。當(dāng)末尾連鎖發(fā)生時(shí),處理器不必馬上恢復(fù)棧的值,因?yàn)槿绻@么做的話還得重新壓棧。異常的末尾連鎖降低了異常處理的開銷,因此也提高了能耗效率。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5425

    瀏覽量

    123642
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4891

    瀏覽量

    70342
  • 異常
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    9344

原文標(biāo)題:異常和中斷

文章出處:【微信號(hào):gh_e7f294a514ca,微信公眾號(hào):?jiǎn)纹瑱C(jī)匠人】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    常見處理器故障及解決方法

    異常升高。 系統(tǒng)頻繁重啟或自動(dòng)關(guān)機(jī)。 BIOS顯示的處理器溫度超過正常范圍。 解決方法: 清理處理器散熱上的灰塵。 檢查散熱
    的頭像 發(fā)表于 02-07 09:17 ?1044次閱讀

    串口中斷是內(nèi)部中斷還是外部中斷,串口中斷是怎么觸發(fā)的

    串口中斷通常被視為外部中斷。雖然串口控制(如USART、UART等)可能集成在微控制處理器的內(nèi)部,但從
    的頭像 發(fā)表于 01-29 15:03 ?1545次閱讀

    量子處理器的作用_量子處理器的優(yōu)缺點(diǎn)

    量子處理器(QPU),又稱量子級(jí)計(jì)算機(jī)處理器,是量子計(jì)算機(jī)的核心部件,其作用主要體現(xiàn)在以下幾個(gè)方面:   一、高速計(jì)算與處理能力   量子
    的頭像 發(fā)表于 01-27 13:44 ?796次閱讀

    量子處理器是什么_量子處理器原理

    量子處理器(QPU)是量子計(jì)算機(jī)的核心部件,它利用量子力學(xué)原理進(jìn)行高速數(shù)學(xué)和邏輯運(yùn)算、存儲(chǔ)及處理量子信息。以下是對(duì)量子處理器的詳細(xì)介紹:
    的頭像 發(fā)表于 01-27 11:53 ?840次閱讀

    EE-192:使用C語(yǔ)言在Blackfin處理器上創(chuàng)建中斷驅(qū)動(dòng)系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《EE-192:使用C語(yǔ)言在Blackfin處理器上創(chuàng)建中斷驅(qū)動(dòng)系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 15:03 ?0次下載
    EE-192:使用C語(yǔ)言在Blackfin<b class='flag-5'>處理器</b>上創(chuàng)建<b class='flag-5'>中斷</b>驅(qū)動(dòng)系統(tǒng)

    串口通訊異常處理方法 串口設(shè)備連接方式

    串口通信異常處理方法 1. 異常檢測(cè) 在串口通信中,首先需要能夠檢測(cè)到異常情況。異常檢測(cè)可以通過以下幾種方式實(shí)現(xiàn): 硬件檢測(cè) :利用串口硬件
    的頭像 發(fā)表于 12-27 09:53 ?3805次閱讀

    OMAP5912多媒體處理器中斷參考指南

    電子發(fā)燒友網(wǎng)站提供《OMAP5912多媒體處理器中斷參考指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-17 16:25 ?0次下載
    OMAP5912多媒體<b class='flag-5'>處理器</b><b class='flag-5'>中斷</b>參考指南

    對(duì)稱多處理器和非對(duì)稱多處理器的區(qū)別

    隨著計(jì)算需求的日益增長(zhǎng),單處理器系統(tǒng)已經(jīng)無(wú)法滿足高性能計(jì)算的需求。多處理器系統(tǒng)應(yīng)運(yùn)而生,它們通過將多個(gè)處理器集成到一個(gè)系統(tǒng)來提高計(jì)算能力。在多處理
    的頭像 發(fā)表于 10-10 15:58 ?2073次閱讀

    處理器寄存的作用

    處理器的寄存是計(jì)算機(jī)體系結(jié)構(gòu)的核心組成部分,它們扮演著至關(guān)重要的角色。寄存是一種高速的存儲(chǔ)單元,用于暫時(shí)存儲(chǔ)數(shù)據(jù)、指令和地址等信息
    的頭像 發(fā)表于 10-05 15:07 ?1187次閱讀

    ARM處理器的工作模式和特點(diǎn)

    ARM處理器具有多種工作模式,這些模式根據(jù)處理器執(zhí)行的任務(wù)和當(dāng)前的狀態(tài)進(jìn)行劃分。常見的ARM處理器工作模式包括用戶模式(User Mode)、快速中斷模式(Fast Interrupt
    的頭像 發(fā)表于 09-10 11:22 ?2175次閱讀

    ARM處理器異常中斷響應(yīng)過程

    ARM處理器異常中斷響應(yīng)是嵌入式系統(tǒng)設(shè)計(jì)中一個(gè)至關(guān)重要的環(huán)節(jié),它確保了系統(tǒng)在面對(duì)內(nèi)部或外部事件時(shí)能夠穩(wěn)定、可靠地運(yùn)行。
    的頭像 發(fā)表于 09-10 11:18 ?1880次閱讀

    ARM處理器和CISC處理器的區(qū)別

    ARM處理器和CISC(復(fù)雜指令集計(jì)算機(jī))處理器在多個(gè)方面存在顯著的區(qū)別。這些區(qū)別主要體現(xiàn)在架構(gòu)原理、性能與功耗、設(shè)計(jì)目標(biāo)、應(yīng)用領(lǐng)域以及市場(chǎng)生態(tài)等方面。
    的頭像 發(fā)表于 09-10 11:10 ?919次閱讀

    嵌入式C編程常用的異常錯(cuò)誤處理

    。 3. 中斷服務(wù)程序 (Interrupt Service Routines, ISR) 在嵌入式系統(tǒng),中斷處理異常情況的常用
    發(fā)表于 08-06 14:32

    國(guó)產(chǎn)新型AI PC處理器亮相上海

    處理器
    北京中科同志科技股份有限公司
    發(fā)布于 :2024年08月01日 09:21:01

    一站式統(tǒng)一返回值封裝、異常處理、異常錯(cuò)誤碼解決方案—最強(qiáng)的Sping Boot接口優(yōu)雅響應(yīng)處理器

    1. 前言 統(tǒng)一返回值封裝、統(tǒng)一異常處理異常錯(cuò)誤碼體系的意義在于提高代碼的可維護(hù)性和可讀性,使得代碼更加健壯和穩(wěn)定。統(tǒng)一返回值封裝可以避免每一個(gè)接口都需要手工拼裝響應(yīng)報(bào)文;統(tǒng)一異常
    的頭像 發(fā)表于 06-20 15:42 ?908次閱讀
    主站蜘蛛池模板: 天天操伊人 | 小视频国产 | 在线黄色大片 | 欧美婷婷六月丁香综合色 | 亚洲 欧美 自拍 卡通 综合 | 午夜视频1000 | 黄www色 | 国产精品99r8免费视频2022 | 天堂自拍| 1314酒色网| 国产在线精品观看 | 美女黄色一级片 | 国产精品资源在线观看网站 | 欧美日韩国产一区二区 | 91色蝌蚪| 午夜精品aaa国产福利 | 婷婷六月久久综合丁香一二 | 日韩成人毛片高清视频免费看 | 欧美三级一区二区三区 | 四虎在线电影 | 女生扒开尿口让男生舔 | 日本三级全黄三级a | 免费看黄色网页 | 婷色| 五月激情久久 | 成人伊人| 波多野结衣在线观看一区二区三区 | 日本系列 1页 亚洲系列 | 色妞妞网 | 亚洲欧洲一区二区三区在线 | 天天干夜夜爽天天操夜夜爽视频 | 毛片区| 国模鲍鱼 | 女女同免费播放毛片 | 97人人做人人爱 | 农村苗族一级特黄a大片 | 综合激情六月 | 国产jzjzjz免费大全视频 | a级男女性高爱潮高清试 | 国产小福利 | 激情五月综合网 |