日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>ARM cortex-M3 異常處理分析資料下載

ARM cortex-M3 異常處理分析資料下載

2021-04-24 | pdf | 64.67KB | 次下載 | 2積分

資料介紹

作者:dogsun88 一、進入異常之前處理器可能的狀態(tài)有: 1、 handler 2、 線程,MSP 3、 線程,PSP 二、產(chǎn)生異常時: 1、 有一個壓棧的過程,產(chǎn)生異常時使用PSP,就壓入到PSP中,產(chǎn)生異常時使用MSP,就壓入到MSP中 2、 會根據(jù)處理器的模式和使用的堆棧,設置LR的值(當然設置完的LR的值再壓棧) 三、異常返回時: 根據(jù)LR的值,判讀使用那個堆棧,然后再從相應的堆棧中POP數(shù)據(jù)到寄存器。 舉例說明: 在利用OSStartHighRdy->OSPendSV->OSPendSV_nosave啟動第一個線程時,在異常進入的時候,壓棧到MSP(不會影響PSP的內(nèi)容),在通過BX LR指令從異常返回之前,有一句ORR LR, LR, #0x04來設置LR的值,保證我們從異常返回時是從PSP中POP數(shù)據(jù)到寄存器里,而此時PSP的值是OSTCBHighRdy->OSTCBStkPtr,即任務創(chuàng)建時定義的堆棧數(shù)組,同時在OSTaskStkInit函數(shù)中對該任務數(shù)組初始化時,要保證其組織結(jié)構(gòu)和異常產(chǎn)生時處理器自動壓棧產(chǎn)生的棧的結(jié)構(gòu)相同。 四、棧中的內(nèi)容分析: 1、 變量 2、 調(diào)用函數(shù)時,如果子函數(shù)比較復雜,會由編譯器自動的壓入r4-r11, lr(壓入多少寄存器,由子函數(shù)的復雜程度決定的) 3、 異常保存,壓入棧的是r0-r3,r12,LR,PC,xSPR(硬件直接完成的) 4、 進程切換,所有寄存器全部壓棧 由于異常死機了之后的具體操作: 產(chǎn)生異常時,兩個值我們需要,一個是pc,一個是LR,通過LR找到棧, 再通過棧找到pc 1、 如果LR=0xFFFFFFF9說明產(chǎn)生異常的時候使用的是MSP,我們只需要讀出當前sp的值, sp += 0x1c;讀出的內(nèi)容就是產(chǎn)生異常時壓入棧的PC的值,這個值跟反匯編代碼對比,就能得到具體哪句話產(chǎn)生的異常。 2、 如果LR=0xFFFFFFFD明產(chǎn)生異常的時候使用的是PSP,我們需要讀出PSP的值,不要直接來讀sp的值,在keil集成開發(fā)環(huán)境中,調(diào)試時寄存器窗口有個Banked選項,會給出當前PSP的值,當然也可以在異常處理中加入兩句話: MRS R0,PSP PUSH {R0} 我們就能在當前MSP中得到,我們PSP的值了,之后操作和上面一樣,psp+=0x1c;讀出的內(nèi)容就是產(chǎn)生異常時壓入棧的PC的值,這個值跟反匯編代碼對比,就能得到具體哪句話產(chǎn)生的異常。 文章來源:(mbbeetchina)
單片機 mcu 嵌入式 STM
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
咸阳市| 溧水县| 静宁县| 类乌齐县| 洛南县| 屏边| 保亭| 石首市| 旅游| 樟树市| 保靖县| 商南县| 广宁县| 南川市| 临沧市| 封开县| 通江县| 公安县| 常德市| 涿鹿县| 石楼县| 怀远县| 内丘县| 阜阳市| 惠水县| 全南县| 绵阳市| 大悟县| 老河口市| 甘孜| 扶余县| 莆田市| 罗源县| 确山县| 井研县| 乌拉特后旗| 河曲县| 麻阳| 鹰潭市| 株洲县| 武清区|