arm中斷保護和恢復_嵌入式ARM系統異常和中斷處理知識總結

關于異常處理,分為三部分:

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

異常和中斷處理簡介

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

點擊這里1小時徹底掌握中斷 創客學院帶你搞定異常和中斷處理


1. Exception handling
2. Interrupts
3. Interrupt handling schemes
今天我們主要介紹第一部分

Exception Handling

1.ARM Processor Exceptions And Modes

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

90b20f46ec2ada439cedcd403a0cf7ae.png

當一個異常產生的時候,core會自動進行如下4步:
1. saves the cpsr to the spsr of the exception mode
2. saves the pc to the lr of the exception mode
3. sets the cpsr to the exception mode
4. sets the pc to the address of the exception handler

需要注意的是,當異常產生的時候,ARM處理器總是會切換到ARM狀態。

2.Vector Table

f5dc3522e89a036707fd2adbdc8d1ddc.png

handler定位在相應內存位置中,如下圖的IRQ,FIQ

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

3.Exception Priorities

ddaae9bcd10a6e2aa4b5ddce3604fa64.png

4.Link Register Offset

7bf7b03ea083c8dec8f3004b5c56a9e6.png

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

例1:

handler

...

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

因為SUB后的S和pc作為目標寄存器,cpsr的值會自動從spsr中恢復出來

例2:

handler

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

...

<code>

...

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}^則依次反向取出。^ 這個符號,則強制cpsr從spsr中恢復出來。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529443.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529443.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529443.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機工作站 曙光,曙光桌面工作站解析

曙光桌面工作站內部架構從整個結構設計來看&#xff0c;整機采用10升小機箱設計&#xff0c;尺寸為326x90x333.4mm&#xff0c;重量在5KG左右&#xff1b;支持垂直放置或橫置&#xff0c;節省辦公空間。接口方面&#xff0c;整機在前面板提供了4個USB 3.0接口&#xff0c;后置接…

查看網卡命令 uefi_大神教你開機進入UEFI模式的方法,非常簡單

啟動電腦時&#xff0c;如果要更改啟動優先級、啟用或禁用安全啟動或更改任何其他低級設置&#xff0c;則需要啟動到UEFI模式。根據主板制造商的不同&#xff0c;必須按鍵盤上的特定鍵或組合鍵才能進入UEFI模式。盡管初始屏幕顯示了需要按下的鍵&#xff0c;但對于初學者來說卻…

計算機網絡拓撲結構說課稿,計算機網絡應用基礎說課稿修稿稿

計算機網絡應用基礎說課稿修稿稿 (6頁)本資源提供全文預覽&#xff0c;點擊全文預覽即可全文預覽,如果喜歡文檔就下載吧&#xff0c;查找使用更方便哦&#xff01;19.90 積分計算機網絡的分類說課稿第1頁共6頁計算機網絡的分類說課稿蓬溪縣中等職業技術學校唐湘各位評委老師大家…

擴展源_瑞薩電子推出具備反向充電WattShare TRx模式的 15W無線充電電源P9415R接收器,擴展無線電源產品線...

News全球領先的半導體解決方案供應商瑞薩電子集團(TSE&#xff1a;6723)日前宣布推出采用瑞薩獨有WattShareTM技術的P9415-R無線電源接收器&#xff0c;作為其無線電源解決方案的最新成員。新型15W無線電源接收器使智能手機、移動電源以及便攜式工業和醫療設備能夠對其它具有無…

香港大學計算機碩士一定要面試嗎,大干貨!!!香港碩士有哪些專業需要筆試面試...

和其它英聯邦地區比&#xff0c;香港碩士申請復雜程度更高&#xff0c;除了香港地區不同專業在申請時間、流程及錄取要求方面的復雜信息外&#xff0c;很多專業在錄取時都有面試筆試也是很重要的原因。很多同學在收到面試筆試后也都會擔心自己表現不好被拒。今天就來跟大家說說…

計算機上沒有office2010,《我安裝了office2010,為什么桌面-右鍵-新建中沒有excel呢?》 excel文件找不到...

為什么在excel2007中新建文檔&#xff0c;我的模板里找不到剛剛保存的模板&#xff1f;win10系統/華碩S CA400&#xff1a;C:\Users\Admin\AppData\Roaming\Microsoft\Templates我安裝了office2010&#xff0c;為什么桌面-右鍵-新建中沒有excel呢&#xff1f;這個office2010無關…

postgresql存圖片字段類型_PostgreSQL 入門

安裝、設置、創建和開始使用 PostgreSQL 數據庫。-- Greg Pittman&#xff08;作者&#xff09;每個人或許都有需要在數據庫中保存的東西。即使你執著于使用紙質文件或電子文件&#xff0c;它們也會變得很麻煩。紙質文檔可能會丟失或混亂&#xff0c;你需要訪問的電子信息可能會…

ibm服務器 p5 硬盤,IBM虛擬化實戰之p5服務器邏輯分區解讀

創建 AIX 分區現在您將創建一個 AIX 分區&#xff0c;它使用 VIO Server 的 SEA 來訪問網絡。它還將其 rootvg 寄宿在 VIO LPAR 上。創建 AIX 服務器分區和概要除了下面的變化以外&#xff0c;創建 AIX 分區和概要的步驟與創建VIO Server 分區和概要部分中的步驟完全相同。1. 在…

cad動態塊制作翻轉_裝X必學,手把手教你做CAD動態屬性塊

最近很多粉絲后臺問熊大&#xff0c;如何制作CAD動態屬性塊&#xff0c;這個問題把我難到了。因為這個不是一句兩句話能夠說得清楚的&#xff0c;于是我拿出珍藏的“西蜀鄙夫”寫的教程&#xff0c;并通過與我們設計過程的實際需要給大家說說。干貨文章&#xff0c;大家耐心看完…

云服務器怎么執行sql文件在哪里,總結帝國CMS下在PHP文件中怎么調用數據庫類執行SQL語句實例...

總結帝國CMS下在PHP文件中怎么調用數據庫類執行SQL語句實例發布時間&#xff1a;2020-10-19 14:58:08來源&#xff1a;億速云閱讀&#xff1a;83作者&#xff1a;小新這篇文章將為大家詳細講解有關總結帝國CMS下在PHP文件中怎么調用數據庫類執行SQL語句實例&#xff0c;小編覺得…

網和aoe網的區別_運動內衣與普通內衣有什么區別?運動內衣里面還需要穿文胸嗎? 小家生活網20201002 11:03:04...

閱讀本文前&#xff0c;請您先點擊上面的“藍色字體可以說愛情就是他們最大的軟肋。不會在雙魚女那出現。在對于周邊的親戚時。她們那種溫柔大方的氣勢。更符合媽媽的需求。整雙腿沒有視覺連貫性。但唯獨感情這件事一直是水瓶們的知識盲區。他們雙商超高。可能最開始還是會去挽…

機器人無限火力無限e符文_LOL:無限火力開黑指南 三大玩法讓你快樂加倍

無限火力上線以來受到大家的熱烈追捧&#xff0c;今天給大家介紹幾個主流的系列&#xff0c;讓你在峽谷能夠感受到雙倍的快樂&#xff01;超強控制流這一類英雄都是帶有強力控制的&#xff0c;無限火力的80%減CD&#xff0c;能夠讓女坦等英雄可以打出長達幾秒的完美控制技能。首…

ps3無線無法與服務器通信,psp上網出現無法與服務器通信(8001006F)

滿意答案引用:一&#xff1a;自己網絡配置&#xff1a;大亞db102 adsl撥號上網。INTEL網卡。神卡&#xff1a;Zydas 54M 同時支持PSP 和NDS的無線USB網卡三&#xff1a;安裝過程中出現的問題DNS錯誤(8041040F)四、總結出現問題的關鍵&#xff1a;并非DNS設置錯誤&#xff0c;主…

bootstrap-table toolbar圖標換文字_iPhone 也能隨意換字體啦~

呔咯昨天從老大手里喜提一臺 iPhone XS Max &#xff0c;終于讓表妹從安卓陣營轉入蘋果&#xff0c;嘻嘻~當她拿著 iPhone 的時候&#xff0c;一臉懵的問我&#xff1a;iPhone 自帶字體也太丑了吧&#xff0c;還我的輸入法&#xff01;&#xff01;&#xff01;呔咯&#xff1a…

網絡服務器分為文件服務器通信服務器和,近代中國落后、貧困的根本原因是()...

近代far, find, lights, minutes, to, right, tellA: Excuse me. Could you ____ me the way ____ the bookshop?B: Ok. Go along this road and turn____ at the traffic ____. Then go straight on. Youll ____ it next to the post office.A: Is it ____ from here?B: No,…

搭建bitwarden_Docker輕松部署Bitwarden私有密碼管理系統服務

0x01. 什么是Bitwarden?開源免費的密碼管理器&#xff0c;Bitwarden的原理是使用高強度的AES256 算法對你的個人數據進行本地加密&#xff0c;然后再傳輸到云端服務器來實現網絡同步。bitwarden使用的是微軟的Azure云服務器&#xff0c;利用PBKDF2 加密主密碼&#xff0c;而且…

取文件 shell_webshell文件上傳分析溯源

由于最近比較忙&#xff0c;暫時沒有時間更新&#xff0c;所以分享分享一些其他博主文章&#xff0c;大家敬請諒解摘要&#xff1a; dirbuster掃描目錄發現幾個有用的東東/admin/upload.php/admin/upload1.php/admin/upload2.php訪問的時候最后都會跳轉到/admin/upload...dirbu…

web系統數據庫服務器,Web Gateway

字段名稱SPB 關鍵字描述*目的地目錄DMS.Destination您希望 Web Gateway 服務器文件所處的目錄的全限定路徑。缺省值是&#xff1a;對于 Solaris 與 Linux&#xff0c;是 /opt/TivTwg對于 AIX&#xff0c;是 /usr/TivTwg對于 Windows&#xff0c;是 c:\Program Files\TivTwg*…

java socket發送定長報文_一個基于TCP協議的Socket通信實例

原標題&#xff1a;一個基于TCP協議的Socket通信實例1. 前言一般接口對接多以http/https或webservice的方式&#xff0c;socket方式的對接比較少并且會有一些難度。正好前段時間完成了一個socket的接口的對接需求&#xff0c;現將實現的思路做一個整理。2. 需求概述2.1 需要提供…

7系統軟raid_使用圖形界面來配置RAID

RAID 配置起來要比 LVM 方便&#xff0c;因為它不像 LVM 那樣分了物理卷、卷組和邏輯卷三層&#xff0c;而且每層都需要配置。我們在圖形安裝界面中配置 RAID 1和 RAID 5&#xff0c;先來看看 RAID 1 的配置方法。RAID 1 配置配置 RAID 1 時同樣需要啟動圖形安裝程序&#xff0…