接之前的帖子:http://m.findthetime.net/bbs/thread-99652-1.html
目前沒有在中斷里使用printf了,僅在main的循環(huán)里使用,但偶爾還是會(huì)不定時(shí)的觸發(fā)HardFault異常。
異常信息如下:
MCAUSE= 0x7
MTVAL= 0x4d904d6
MEPC= 0x2032
MSTATUS= 0x88
在反匯編視圖里定位到?0x2032處,顯示如下:
??????????__sfputc_r: 0000200e:???lw??????a5,8(a2) 00002010:???addi????a5,a5,-1 00002012:???sw??????a5,8(a2) 00002014:???bgez????a5,0x2028?<__sfputc_r+26> 00002018:???lw??????a4,24(a2) 0000201a:???blt?????a5,a4,0x2024?<__sfputc_r+22> 0000201e:???li??????a5,10 00002020:???bne?????a1,a5,0x2028?<__sfputc_r+26> 00002024:???j???????0x183c?<__swbuf_r> 00002028:???lw??????a5,0(a2) 0000202a:???mv??????a0,a1 0000202c:???addi????a4,a5,1 00002030:???sw??????a4,0(a2) 00002032:???fsd?????fa1,0(a5) 00002034:???ret
發(fā)現(xiàn)是調(diào)用__sfputc_r函數(shù)這里死掉了,請(qǐng)問這種異常該如何排查?
另外MRS里有辦法查看調(diào)用棧(call stack)么,好像沒看到有這個(gè)視圖,調(diào)試起來不方便。