国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

嵌入式學(xué)習(xí)筆記(3)ARM的異常處理方式介紹

這篇具有很好參考價值的文章主要介紹了嵌入式學(xué)習(xí)筆記(3)ARM的異常處理方式介紹。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

什么是異常

??正常工作之外的流程都叫異常

??異常會打斷正在執(zhí)行的工作,并且一般我們希望異常處理完后繼續(xù)回來執(zhí)行原工作

??中斷是異常的一種

異常向量表

嵌入式學(xué)習(xí)筆記(3)ARM的異常處理方式介紹,嵌入式,編程,學(xué)習(xí),筆記,arm開發(fā),嵌入式實(shí)時數(shù)據(jù)庫,嵌入式硬件,iot

??所有的CPU都有異常向量表,這是CPU設(shè)計(jì)時就設(shè)定好的,是硬件決定的。

??當(dāng)異常發(fā)生時,CPU會自動動作(PC跳轉(zhuǎn)到異常向量處處理異常,有時伴有一些輔助動作)

??異常向量表是硬件向軟件提供的處理異常的支持。

嵌入式學(xué)習(xí)筆記(3)ARM的異常處理方式介紹,嵌入式,編程,學(xué)習(xí),筆記,arm開發(fā),嵌入式實(shí)時數(shù)據(jù)庫,嵌入式硬件,iot

ARM的異常處理機(jī)制

當(dāng)異常產(chǎn)生時, ARM core:

(1)將CPSR的值保存到將要執(zhí)行的異常中斷對應(yīng)的SPSR中,以實(shí)現(xiàn)對處理器當(dāng)前狀態(tài)、中斷屏蔽及各標(biāo)志位的保護(hù)。

(2)設(shè)置當(dāng)前狀態(tài)寄存器CPSR的相應(yīng)位。設(shè)置CPSR中的M4~M0的5位,進(jìn)入相應(yīng)工作模式,設(shè)置I=1禁止IRQ中斷,如果進(jìn)入復(fù)位模式或FIQ模式,還要設(shè)置F=1以禁止FIQ中斷。

(3)將引起異常指令的下一條地址(斷點(diǎn)地址)保存到 LR(R14)中,使異常處理程序執(zhí)行完后正確返回原來程序處繼續(xù)向下執(zhí)行。

(4)給程序計(jì)數(shù)器PC強(qiáng)制賦值,轉(zhuǎn)入向量地址,以便執(zhí)行相應(yīng)的處理程序。

每種中斷異常模式對應(yīng)兩個寄存器SP和LR。

從中斷返回。如果是復(fù)位異常,系統(tǒng)自動從0x00000000開始重新執(zhí)行程序,無需返回

(1)首先恢復(fù)原來被保護(hù)的用戶寄存器。

(2)將SPSR寄存器復(fù)制到CPSR中,使得原來CPSR狀態(tài)從相應(yīng)的SPSR中恢復(fù),——恢復(fù)被中斷的程序狀態(tài)。

(3)根據(jù)異常類型將PC值恢復(fù)成斷點(diǎn)地址,以繼續(xù)執(zhí)行用戶原來運(yùn)行著的程序。

(4)清除CPSR中的中斷禁止標(biāo)志I和F,開放外部中斷和快速中斷。

注意:

(1)程序狀態(tài)寄存器及斷點(diǎn)地址的恢復(fù)必須同時進(jìn)行。

(2)由于異常隨機(jī)發(fā)生,所以要對異常向量進(jìn)行初始化,即在異常向量的地址處放置一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到異常處理程序。

更多嵌入式學(xué)習(xí)筆記、實(shí)戰(zhàn)項(xiàng)目,點(diǎn)擊這里即可免費(fèi)領(lǐng)取文章來源地址http://www.zghlxwxcb.cn/news/detail-679332.html

到了這里,關(guān)于嵌入式學(xué)習(xí)筆記(3)ARM的異常處理方式介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 嵌入式學(xué)習(xí)---ARM時鐘體系

    嵌入式學(xué)習(xí)---ARM時鐘體系

    按 一定電壓幅度 , 一定時間間隔 連續(xù)發(fā)出的脈沖信號。它是一個周期性的信號,每個周期內(nèi)包含一個上升沿和一個下降沿。時鐘脈沖的上升沿和下降沿通常用于觸發(fā)和同步各個電子元件的操作,例如CPU的指令執(zhí)行、數(shù)據(jù)傳輸、寄存器更新等。 時鐘頻率是指時鐘脈沖的頻率

    2024年01月16日
    瀏覽(28)
  • ARM+LINUX嵌入式學(xué)習(xí)路線

    ARM+LINUX嵌入式學(xué)習(xí)路線

    嵌入式學(xué)習(xí)是一個循序漸進(jìn)的過程,如果是希望向嵌入式軟件方向發(fā)展的話,目前最常見的是嵌入式Linux方向,關(guān)注這個方向,大概分3個階段: 1、嵌入式linux上層應(yīng)用,包括QT的GUI開發(fā) 2、嵌入式linux系統(tǒng)開發(fā) 3、嵌入式linux驅(qū)動開發(fā) 嵌入式目前主要面向的幾個操作系統(tǒng)是,

    2024年02月02日
    瀏覽(27)
  • 嵌入式學(xué)習(xí)52-ARM1

    嵌入式學(xué)習(xí)52-ARM1

    知識零散: 1.flash:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nor flash? ? 可被尋地址? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    2024年04月14日
    瀏覽(32)
  • 嵌入式學(xué)習(xí)---ARM中斷控制系統(tǒng)

    嵌入式學(xué)習(xí)---ARM中斷控制系統(tǒng)

    硬件中斷處理是實(shí)時系統(tǒng)設(shè)計(jì)的最重要、最關(guān)鍵的問題。 程序不斷地查詢各設(shè)備的狀態(tài),并做出相應(yīng)的反應(yīng)。該方式實(shí)現(xiàn)比較簡單,常用在比較單一的系統(tǒng)中,比如一個溫控系統(tǒng)中可以使用查詢方式不斷檢測溫度的變化。 特點(diǎn):實(shí)現(xiàn)簡單;但 CPU利用率很低 ,不適合多任務(wù)的

    2024年02月03日
    瀏覽(55)
  • 華清遠(yuǎn)見嵌入式學(xué)習(xí)——ARM——作業(yè)2

    華清遠(yuǎn)見嵌入式學(xué)習(xí)——ARM——作業(yè)2

    目錄 作業(yè)要求: 現(xiàn)象: 代碼: 思維導(dǎo)圖: 模擬面試題: GPIO實(shí)驗(yàn)——3顆LED燈的流水燈實(shí)現(xiàn)

    2024年02月03日
    瀏覽(23)
  • 華清遠(yuǎn)見嵌入式學(xué)習(xí)——ARM——作業(yè)3

    華清遠(yuǎn)見嵌入式學(xué)習(xí)——ARM——作業(yè)3

    led.h led.c uart.h uart.c main.c

    2024年01月21日
    瀏覽(25)
  • 嵌入式筆記1.1 ARM Cortex-M3M4簡介

    嵌入式筆記1.1 ARM Cortex-M3M4簡介

    目錄 微型計(jì)算機(jī)的硬件共性結(jié)構(gòu)及基本性能指標(biāo) 關(guān)于存儲器的介紹 微型計(jì)算機(jī)的基本性能指標(biāo) 1. 字長 2. 主頻 3. 存儲容量 4. 外設(shè)擴(kuò)展能力 5. 軟件配置情況 Arm Cortex 系列微處理器系列概述 Arm Cortex-A 系列處理器 Arm Cortex-R 系列處理器 Arm Cortex-M 系列處理器 Cortex-M3 和 Cortex-M4簡

    2024年03月27日
    瀏覽(35)
  • STM32&ARM體系結(jié)構(gòu)(嵌入式學(xué)習(xí))

    STM32&ARM體系結(jié)構(gòu)(嵌入式學(xué)習(xí))

    STM32是意法半導(dǎo)體(STMicroelectronics)公司推出的一系列32位ARM Cortex-M微控制器(MCU)產(chǎn)品系列。它們基于ARM架構(gòu),并且具有廣泛的應(yīng)用領(lǐng)域,包括工業(yè)自動化、消費(fèi)電子、醫(yī)療設(shè)備、通信、汽車電子等。 STM32系列提供了多個產(chǎn)品系列,以滿足不同應(yīng)用需求和性能要求。其中常見

    2024年02月08日
    瀏覽(87)
  • 【ARM 嵌入式 編譯系列 2.1 -- GCC 編譯參數(shù)學(xué)習(xí)】

    請閱讀 【ARM GCC 編譯專欄導(dǎo)讀】 上篇文章:ARM 嵌入式 編譯系列 2 – GCC 編譯過程介紹 下篇文章:ARM 嵌入式 C 入門及漸進(jìn) 3 – GCC attribute ((weak)) 弱符號使用 上篇文章 ARM 嵌入式 編譯系列 2 – GCC 編譯過程介紹 已經(jīng)介紹過了具體的編譯流程,本篇文章主要介紹變過程中常見的

    2024年02月13日
    瀏覽(51)
  • 嵌入式C語言自我修養(yǎng)筆記1-ARM體系結(jié)構(gòu)與編譯運(yùn)行

    嵌入式C語言自我修養(yǎng)筆記1-ARM體系結(jié)構(gòu)與編譯運(yùn)行

    ARM 體系結(jié)構(gòu) ARM 體系結(jié)構(gòu) ARM 相對精簡指令集 RISC 還有如下區(qū)別 ● ARM 有桶型移位寄存器,單周期內(nèi)可以完成數(shù)據(jù)的各種移位操作。 ● 并不是所有的 ARM 指令都是單周期的。 ● ARM 有 16 位的 Thumb 指令集,是 32 位 ARM 指令集的壓縮形式,提高了代碼密度 ● 條件執(zhí)行:通過指令

    2024年02月07日
    瀏覽(100)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包