18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

深入探討單片機異常處理

單片機匠人 ? 來源:單片機匠人 ? 作者: 黃忠老師 ? 2021-10-20 10:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ARM處理器中,如果一個程序產(chǎn)生了錯誤并且被處理器檢測到,這是就會產(chǎn)生錯誤異常。

錯誤是怎么發(fā)生的呢?

許多可能的原因都會引起錯誤發(fā)生,比如對于存儲器相關錯誤,總線系統(tǒng)的異常響應可以有以下原因:

訪問的地址非法;

由于傳輸?shù)念愋头欠ǎ偩€的從設備不接受此次傳輸(從設備決定)

由于傳輸未使能或初始化,總線的從設備無法進行此次傳輸(例如,如果外設的時鐘被關閉,那么訪問這個外設時,微控制器就可能會產(chǎn)生錯誤響應)。

當確定了硬件錯誤異常的直接原因以后,我們可能還得花費一些時間來確定問題的根源。例如,總線錯誤可以由很多種情況引發(fā),例如錯誤的指針操作、??臻g損壞、內(nèi)存溢出、非法存儲器映射以及其他原因。

分析錯誤

根據(jù)錯誤類型的不同,通常能夠直接確定引起硬件錯誤異常的指令的位置。要實現(xiàn)這個目的,就需要知道進入硬件錯誤異常時的寄存器的內(nèi)容,以及異常處理前壓入棧中的寄存器的內(nèi)容。這些值中包含了程序返回地址,通過它也能知道引起錯誤的指令地址。

如果使用了調(diào)試器,那么可在工程中創(chuàng)建硬件錯誤異常處理,并且在其中添加一個用以暫停處理器的斷點指令;或者也可以在硬件錯誤異常處理的開始部分設置一個斷點,這樣當硬件錯誤發(fā)生時,處理器就會自動暫停。在處理器由于硬件錯誤暫停后,我們就可以嘗試著按照下面圖的流程對錯誤進行定位。

為了給分析提供更多的信息,也可以生成程序映像的匯編代碼,并且利用在棧幀中找到的PC值確定錯誤的位置。如果錯誤的地址為存儲器訪問指令,就應該檢查寄存器的值確定存儲器訪問的地址是否合法。除了檢查地址范圍,也應該確認存儲器的地址是否正確地對齊。

除了壓入棧中的PC值(返回地址),棧幀中也包含了其他有助于調(diào)試的寄存器值。例如,壓入棧的IPSR能夠反映處理器是否在進行異常處理,EPSR則代表了處理器狀態(tài)(EPSR的T位為0,則表示錯誤由意外切換至ARM狀態(tài)引起)。

棧中的LR也可能會提供一些信息,例如發(fā)生錯誤的函數(shù)的返回地址,錯誤是否發(fā)生在異常處理中,以及EXC_RETURN的值是否被異常破壞等。

另外,當前的寄存器值也可以提供有助于定位錯誤原因的各種信息,除了當前棧指針的值,當前的鏈接寄存器的值也可能有幫助。如果LR中為非法的EXC_RETURN的值,這就意味著它在前面異常處理中被錯誤地修改了。

CONTROL寄存器也可以提供幫助。在沒有OS的簡單應用程序中,進程棧指針(PSP)不會被用到,并且CONTROL寄存器會一直保持為0。如果CONTROL寄存器被設置為0x2(PSP用于線程狀態(tài)),這就意味著LR在之前的異常處理中被錯誤地修改了,或者棧內(nèi)容被破壞導致了EXC_RETURN的值錯誤。

編輯:jq

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

    關注

    31

    文章

    5503

    瀏覽量

    128184
  • 存儲器
    +關注

    關注

    39

    文章

    7697

    瀏覽量

    170304
  • ARM處理器
    +關注

    關注

    6

    文章

    361

    瀏覽量

    43056

原文標題:單片機的異常處理

文章出處:【微信號:gh_e7f294a514ca,微信公眾號:單片機匠人】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    電源電路焊接上單片機后電壓異常,看看這是什么問題?

    大佬們幫我看看這是什么問題,已經(jīng)逐級排查過了,焊接上單片機后電壓異常,取下單品后恢復正常,已經(jīng)對照過說明書管腳沒有錯
    發(fā)表于 08-01 16:23

    什么單片機比較耐用

    凱星科技有限公司在多年的單片機應用開發(fā)中,對各類單片機的耐用性有著深入了解,通過為拓邦、朗科、安徽龍多等客戶提供方案,積累了豐富的選型與優(yōu)化經(jīng)驗。 影響單片機耐用性的核心因素
    的頭像 發(fā)表于 07-31 13:48 ?476次閱讀

    怎么測單片機系統(tǒng)頻率

    單片機系統(tǒng)頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統(tǒng)頻率對單片機應用開發(fā)、程序調(diào)試和性能優(yōu)化具有重要
    的頭像 發(fā)表于 07-25 11:39 ?307次閱讀

    單片機怎么驅(qū)動電機?

    在各類自動化設備和智能裝置中,電機是重要的執(zhí)行部件,而單片機作為控制核心,需要通過特定的方式驅(qū)動電機運轉(zhuǎn)。單片機驅(qū)動電機并非直接連接即可,而是要根據(jù)電機類型和功率,搭配合適的驅(qū)動電路,才能實現(xiàn)穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?307次閱讀

    單片機怎么燒程序

    單片機燒程序是將編寫好的程序代碼寫入單片機內(nèi)部存儲單元,讓單片機按照預設邏輯工作的過程,是單片機應用開發(fā)中不可或缺的環(huán)節(jié)。無論是簡單的燈光控制程序,還是復雜的工業(yè)控制算法,都需要通過燒
    的頭像 發(fā)表于 07-23 11:47 ?487次閱讀

    單片機定制開發(fā)的設計思路

    單片機定制開發(fā)是根據(jù)特定場景和功能需求,量身打造符合要求的單片機應用方案,其設計過程需要兼顧技術可行性與實際應用價值,涉及多個關鍵環(huán)節(jié)。 一、需求分析階段 單片機定制開發(fā)的第一步是深入
    的頭像 發(fā)表于 07-17 11:14 ?471次閱讀
    <b class='flag-5'>單片機</b>定制開發(fā)的設計思路

    給予單片機的溫度控制系統(tǒng)設計

    在工業(yè)生產(chǎn)、智能家居等領域,溫度的穩(wěn)定控制至關重要,基于單片機的溫度控制系統(tǒng)憑借靈活、高效的特點被廣泛應用,其設計原理與實現(xiàn)方式值得深入探討。 基于單片機的溫度控制系統(tǒng)主要由單片機、溫
    的頭像 發(fā)表于 07-16 10:57 ?309次閱讀

    機器學習異常檢測實戰(zhàn):用Isolation Forest快速構建無標簽異常檢測系統(tǒng)

    本文轉(zhuǎn)自:DeepHubIMBA無監(jiān)督異常檢測作為機器學習領域的重要分支,專門用于在缺乏標記數(shù)據(jù)的環(huán)境中識別異常事件。本文深入探討異常檢測技術的理論基礎與實踐應用,通過Isolatio
    的頭像 發(fā)表于 06-24 11:40 ?1056次閱讀
    機器學習<b class='flag-5'>異常</b>檢測實戰(zhàn):用Isolation Forest快速構建無標簽<b class='flag-5'>異常</b>檢測系統(tǒng)

    深入探討試驗數(shù)據(jù)采集系統(tǒng)在力學試驗室中發(fā)揮的作用

    萬能及壓力機設備的特殊性、數(shù)據(jù)無法實時采集的現(xiàn)狀、綜合管理需求以及數(shù)據(jù)聯(lián)動分析需求等方面,深入探討試驗數(shù)據(jù)采集系統(tǒng)在力學試驗室中的作用。 一、萬能及壓力機設備的特殊性對數(shù)據(jù)采集系
    的頭像 發(fā)表于 02-22 11:27 ?762次閱讀
    <b class='flag-5'>深入探討</b>試驗<b class='flag-5'>機</b>數(shù)據(jù)采集系統(tǒng)在力學試驗室中發(fā)揮的作用

    深入探討DeepSeek大模型的核心技術

    導讀 本文深入探討了DeepSeek大模型的核心技術,從公司背景、模型能力、訓推成本到核心技術細節(jié)進行了全面分析。 ? 一、關于DeepSeek公司及其大模型 1.1 公司概況 DeepSeek
    的頭像 發(fā)表于 02-10 10:49 ?3009次閱讀
    <b class='flag-5'>深入探討</b>DeepSeek大模型的核心技術

    數(shù)碼管和單片機的連接方式

    了解數(shù)碼管和單片機的工作原理,以及它們之間的連接方式,不僅有助于電子愛好者進行項目開發(fā),也是電子工程師必備的技能。本文將圍繞這兩個核心組件,展開深入且全面的技術探討。
    的頭像 發(fā)表于 02-05 17:44 ?1948次閱讀

    什么是單片機的ADC接口

    ,簡稱ADC)接口是單片機中不可或缺的一部分,它負責將模擬信號轉(zhuǎn)換為數(shù)字信號,使得單片機能夠處理來自傳感器、儀表等模擬世界的信號。本文將深入探討單片
    的頭像 發(fā)表于 02-03 11:27 ?3352次閱讀

    單片機中斷技術詳解

    在現(xiàn)代電子設備中,單片機作為控制核心發(fā)揮著舉足輕重的作用。而在其高效運作的背后,中斷機制是推動單片機實現(xiàn)實時響應與高效執(zhí)行的關鍵因素。本文將深入探討單片機中的中斷概念、中斷系統(tǒng)的結構、
    的頭像 發(fā)表于 02-02 15:57 ?1285次閱讀

    單片機I/O接口的傳輸方式

    著數(shù)據(jù)傳輸?shù)娜蝿?,還影響著整個系統(tǒng)的性能和可靠性。本文將深入探討單片機I/O接口的傳輸方式,包括無條件傳送、查詢傳送、中斷傳送和DMA傳送等,以期為單片機應用開發(fā)者提供有價值的參考。
    的頭像 發(fā)表于 02-02 15:56 ?1401次閱讀

    深入探討Linux系統(tǒng)中的動態(tài)鏈接庫機制

    異常或崩潰。為深入理解動態(tài)鏈接機制及其工作原理,我重溫了《程序員的自我修養(yǎng)》,并通過實踐演示與反匯編分析,了解了動態(tài)鏈接的過程。 本文將深入探討Linux系統(tǒng)中的動態(tài)鏈接庫機制,這其中包括但不限于全局符號介入(Global Sy
    的頭像 發(fā)表于 12-18 10:06 ?816次閱讀
    <b class='flag-5'>深入探討</b>Linux系統(tǒng)中的動態(tài)鏈接庫機制