麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

hardfault排故記錄01

2019-11-10 20:16:15
字體:
供稿:網(wǎng)友

平臺(tái):

CPU :STM32f103rct6 編譯器 :MDK5.20; 調(diào)試工具:ULINK2

現(xiàn)象:

主板上電后鏈接ULINK,SW接口可以鏈接、可以下載程序,偶爾出現(xiàn)cannot access target shutting down debug session錯(cuò)誤提示。 程序運(yùn)行后,進(jìn)入hardfault錯(cuò)誤處理函數(shù)。

分析

尋找產(chǎn)生fault原因

1 Cortex-M3/4的Fault簡(jiǎn)介 Cortex-M3/4的Fault異常是由于非法的存儲(chǔ)器訪問(比如訪問0地址、寫只讀存儲(chǔ)位置等)和非法的程序行為(比如除以0等)等造成的。常見的4種異常及產(chǎn)生異常的情況如下: Bus Fault:在fetch指令、數(shù)據(jù)讀寫、fetch中斷向量或中斷時(shí)存儲(chǔ)恢復(fù)寄存器棧情況下,檢測(cè)到內(nèi)存訪問錯(cuò)誤則產(chǎn)生Bus Fault。 Memory Management Fault:訪問了內(nèi)存管理單元(MPU)定義的不合法的內(nèi)存區(qū)域,比如向只讀區(qū)域?qū)懭霐?shù)據(jù)。 Usage Fault:檢測(cè)到未定義指令或在存取內(nèi)存時(shí)有未對(duì)齊。還可以通過軟件配置是否檢測(cè)到除0和其它未對(duì)齊內(nèi)存訪問也產(chǎn)生該異常,默認(rèn)關(guān)閉,需要在工程初始化時(shí)配置: Hard Fault:在調(diào)試程序過程中,這種異常最常見。上面三種異常發(fā)生任何一種異常都會(huì)引起Hard Fault,在上面的三種異常未使能的情況下,默認(rèn)發(fā)生異常時(shí)進(jìn)入Hard Fault中斷服務(wù)程序。使能前三種異常也要在初始化時(shí)配置:

cortex-m3內(nèi)核出現(xiàn)HardFault_Handler故障的原因主要有兩個(gè)方面: 1、內(nèi)存溢出或者訪問越界。這個(gè)需要自己寫程序的時(shí)候規(guī)范代碼,遇到了需要慢慢排查。 2、堆棧溢出。增加堆棧的大小。

調(diào)試

1, 查看產(chǎn)生hardfault原因

1)在stm32f10x_it.c中的hardfault處理函數(shù)中設(shè)置斷點(diǎn),當(dāng)發(fā)生hardfault時(shí)進(jìn)入斷點(diǎn)。

void HardFault_Handler(void){ /* Go to infinite loop when Hard Fault exception occurs */ while (1) { }}

2)當(dāng)進(jìn)入Hard Fault斷點(diǎn)后,菜單欄Peripherals >Core Peripherals >Fault Reports打開異常發(fā)生的報(bào)告,查看發(fā)生異常的原因: 工具欄

錯(cuò)誤報(bào)告欄 3)查看發(fā)生錯(cuò)誤代碼地址: Cortex‐M3 在進(jìn)入異常服務(wù)例程時(shí),自動(dòng)壓棧了 R0‐R3, R12, LR, PSR 和 PC,并且在返回時(shí)自 動(dòng)彈出它們,通過讀取 PSP 的值, OS 就能夠獲取用戶應(yīng)用程序使用的堆棧,進(jìn)一步地就知道了在發(fā) 生異常時(shí),被壓入寄存器的內(nèi)容。

通過左側(cè)寄存器的值可以查找SP值,可得SP的地址為0x2000AF0,再在memory框中輸入SP的地址,查看堆棧里面的值依次為R0~R3、R12、LR、PC、XPRS,顯然堆棧后第21個(gè)字節(jié)到24字節(jié)即為L(zhǎng)R,該地址0x0800186B即為異常前PC將要執(zhí)行的下一條指令地址。再通過memory查找這個(gè)地址所對(duì)應(yīng)的代碼即可查找到響應(yīng)錯(cuò)誤語(yǔ)句。

DEBUG調(diào)試


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产成人精品自拍视频 | 亚洲免费毛片基地 | 精品一区二区视频在线观看 | 免费午夜视频 | 天使萌一区二区三区免费观看 | av中文在线观看 | 国产乱淫av片免费观看 | av日韩一区二区 | 人人舔人人舔 | lutube成人福利在线观看 | 色猫av | 视频一区免费观看 | 久久成人免费观看 | 精品国产1区2区3区 免费国产 | 毛片在线免费视频 | 99精品热视频 | 日韩精品免费一区二区三区 | 成人精品一区二区三区中文字幕 | 欧美三级毛片 | 日韩大片在线永久观看视频网站免费 | bt 自拍 另类 综合 欧美 | 国产精品视频导航 | 插插操 | 91精品免费在线 | 青青国产在线视频 | 欧美城网站地址 | 国产一区视频免费观看 | 香蕉久草在线 | 精品国产欧美一区二区 | 成人午夜看片 | 亚洲第一黄色网 | 黄色网址在线播放 | 国产精品一区二区三区在线看 | 国产人成精品一区二区三 | 精品国产91一区二区三区 | 国产亚洲精品久久久久久久 | 最新午夜综合福利视频 | 羞羞的视频在线 | 麻豆视频在线观看免费网站 | 亚洲欧美日韩一区二区三区在线观看 | 国产精品久久久久久久久久久久午夜 |