chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

異常和中斷處理簡介

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-06-25 10:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)于異常處理,分為三部分:

1. ARM異常和模式:core處理異常時的操作,幾種模式介紹。2. Vector table:3. 異常優(yōu)先級4. lr偏移:幾種異常如何返回

異常和中斷處理簡介

嵌入式系統(tǒng)中異常處理是核心之一。高效的處理能夠極大的提升系統(tǒng)的性能。ARM處理器一共有7種可以暫停指令的執(zhí)行序列的異常。主要分為三個部分:

1. Exception handling2. Interrupts3. Interrupt handling schemes今天我們主要介紹第一部分

Exception Handling

1.ARM Processor Exceptions And Modes

任何一種中斷模式都可以通過手動的修改cpsr的值來進(jìn)入。但是User和System模式是僅有的2個不能由相應(yīng)中斷進(jìn)入的模式,換句話說,我們必須要通過手動修改cpsr才能進(jìn)入。

當(dāng)一個異常產(chǎn)生的時候,core會自動進(jìn)行如下4步:1. saves the cpsr to the spsr of the exception mode2. saves the pc to the lr of the exception mode3. sets the cpsr to the exception mode4. sets the pc to the address of the exception handler

需要注意的是,當(dāng)異常產(chǎn)生的時候,ARM處理器總是會切換到ARM狀態(tài)。

2.Vector Table

handler定位在相應(yīng)內(nèi)存位置中,如下圖的IRQ,FIQ

0x00000018: 0xe59ffa38 IRQ ; ldr pc, [pc, #irq]0x0000001c: 0xe59ffa38 FIQ ; ldr pc, [pc, #fiq]

3.Exception Priorities

4.Link Register Offset

如下三種從IRQ和FIQ異常處理返回的例子

例1:

handler

...

SUBS pc, r14, #4 ;pc = r14 -4

因為SUB后的S和pc作為目標(biāo)寄存器,cpsr的值會自動從spsr中恢復(fù)出來

例2:

handler

SUB r14, r14, #4 ;r14 -= 4

...

...

MOVS pc, r14

r14 = r14 -4, pc = r14 , cpsr =spsr(因為S)

例3:

handler

SUB r14, r14, #4 ; r14 = r14 - 4

STMFD r13!, {r0-r3, r14} ;store context

...

LDMFD r13!, {r0-r3, r14}^ ;return

STMFD,LDMFD 分別提供了pop/push的功能。STMFD sp!, {r0-r3, r14}就是依次將r14, r3, r2, r1放入棧中。LDMFD r13!, {r0-r3, r14}^則依次反向取出。^這個符號,則強(qiáng)制cpsr從spsr中恢復(fù)出來。

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

    關(guān)注

    135

    文章

    9499

    瀏覽量

    388759
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3716

    瀏覽量

    133107
  • 中斷處理
    +關(guān)注

    關(guān)注

    0

    文章

    94

    瀏覽量

    11417

原文標(biāo)題:嵌入式ARM系統(tǒng)異常和中斷處理知識總結(jié)

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    什么是ARM中斷事件?ARM中斷異常處理具體過程

    ARM處理器是一種流行的處理器架構(gòu),用于許多現(xiàn)代移動設(shè)備和嵌入式系統(tǒng)中。中斷異常是ARM處理器中的兩個重要概念,它們是
    發(fā)表于 09-05 15:45 ?2903次閱讀
    什么是ARM<b class='flag-5'>中斷</b>事件?ARM<b class='flag-5'>中斷</b><b class='flag-5'>異常</b><b class='flag-5'>處理</b>具體過程

    如何返回異常中斷處理

    關(guān)于異常處理,分為三部分:ARM異常和模式:core處理異常時的操作,幾種模式介紹。Vector table:
    發(fā)表于 12-14 09:23

    中斷事件的異常處理是什么意思

    M0內(nèi)核支持的資源Cortex-M0處理器最多支持32個外部中斷(通常稱作IRQ),還有一個被稱作不可屏蔽中斷的特殊中斷。中斷事件的
    發(fā)表于 12-21 06:50

    Linux 2.6 中斷處理原理簡介

    Linux 2.6 中斷處理原理簡介 中斷描述符表(Interrupt Descriptor Table,IDT)是一個系統(tǒng)表,它與每一個中斷
    發(fā)表于 02-05 10:52 ?915次閱讀

    微機(jī)原理--中斷異常

    微機(jī)原理--中斷異常
    發(fā)表于 12-12 22:07 ?0次下載

    ARM微處理器編程模型之異常中斷處理分析

    3.4 異常中斷處理 異常中斷是用戶程序中最基本的一種執(zhí)行流程和形態(tài)。這部分主要對ARM架構(gòu)下的異常中斷做詳細(xì)說明。 ARM有7種類型的
    發(fā)表于 10-18 13:29 ?1次下載

    ARM中異常中斷問題詳情分析總結(jié)

    ARM中異常中斷的類型問題分析總結(jié) 一、ARM中異常中斷的類型: 異常中斷名稱 含義 復(fù)位(Reset) 當(dāng)處理器復(fù)位引腳有效時,系統(tǒng)產(chǎn)生復(fù)位異常中
    發(fā)表于 04-05 10:51 ?1626次閱讀

    STM32的Cortex-M3中斷異常處理

    的接口緊密相連,可以實現(xiàn)低延遲的中斷處理和有效處理處理晚到的中斷。嵌套向量中斷控制器管理著包括
    發(fā)表于 11-16 15:35 ?8964次閱讀
    STM32的Cortex-M3<b class='flag-5'>中斷</b><b class='flag-5'>異常</b><b class='flag-5'>處理</b>

    ARM異常中斷的原因及處理措施

    當(dāng)ARM異常中斷發(fā)生時,系統(tǒng)執(zhí)行完當(dāng)前指令后,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。當(dāng)異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生
    的頭像 發(fā)表于 06-17 10:05 ?9082次閱讀

    當(dāng)ARM異常中斷發(fā)生時的處理措施

    外部中斷請求(IRQ) 當(dāng)處理器的外部中斷請求引腳有效,而且CPSR的寄存器的I控制位被清除時,處理器產(chǎn)生外部中斷請求異常中斷。系統(tǒng)中個外設(shè)
    的頭像 發(fā)表于 08-27 14:21 ?3041次閱讀

    處理器中異常中斷解決

    異常是能夠引起程序流偏離正常流程的事件,當(dāng)異常發(fā)生時,正在執(zhí)行的程序就會被掛起,處理器轉(zhuǎn)而執(zhí)行一塊與該事件相關(guān)的代碼(異常處理)。事件可以是
    的頭像 發(fā)表于 10-12 17:14 ?5821次閱讀

    Cortex-M0處理器內(nèi)核異常中斷簡介

    在Cortex‐M0內(nèi)核上搭載了一個異常響應(yīng)系統(tǒng),支持眾多的系統(tǒng)異常和外部中斷。其中,編號為1-15的對應(yīng)系統(tǒng)異常,大于等于16的則全是外部中斷
    的頭像 發(fā)表于 06-01 14:41 ?6160次閱讀

    Linux是如何利用陷阱門處理中斷異常

    中斷異常處理程序執(zhí)行的代碼不是一個進(jìn)程。而是一個內(nèi)核控制路徑,比一個進(jìn)程的上下文要少,建立或終止需要的時間很少。
    發(fā)表于 08-17 11:31 ?944次閱讀

    arm處理器有哪些中斷源?arm處理器對異常中斷的響應(yīng)過程

    arm處理器有哪些中斷源?arm處理器對異常中斷的響應(yīng)過程? ARM處理器是一種廣泛使用的嵌入式處理
    的頭像 發(fā)表于 10-19 16:35 ?2289次閱讀

    ARM中的異常中斷是如何實現(xiàn)進(jìn)入中斷程序的?如何進(jìn)入呢?

    ARM中的異常中斷是如何實現(xiàn)進(jìn)入中斷程序的?如何進(jìn)入呢? 在計算機(jī)系統(tǒng)中,異常中斷是兩個常見的概念。 在ARM中,異常
    的頭像 發(fā)表于 10-19 16:36 ?1688次閱讀