嵌入式調試手段

調試嵌入式系統,比如手機,平板電腦。遇到bug要定位代碼的位置。一般有下面的方法。

1,通過命令行參數將控制檯重定性到某個串口,PC的串口連接到手機的UART串口,打開超級終端或者用secure_CRT工具,設置比特率,將手機的log輸出到securecrt,從log大概判斷到代碼出錯位置,再根據需要在代碼添加log進行精確定位bug的位置。

2,如果手機沒有串口,可以通過USB的連接用ADB調試,adb shell 進人控制檯,用dmesg命令輸出log。

3,TRACE32調試,手機出問題後,通過jtag接口連接trace32,查看寄存器或者內存,變量的值,進行定位出錯位置。

4,如果沒有trace32和串口,可以通過RAMDUMP模塊,當手機crash的時候,將手機進入ramdump模式,將現在信息保存到EMMC或者T卡,然後通過PC將ramdump取出來分析。一般是通過設置ramdump的使能開關爲開,當手機出問題進人panic的時候就進入ramdump模式。或者子系統出問題的時候通過fatal error中斷觸發panic,然後進入ramdump模式。通過PC,把手機當U盤,將ramdump信息導出來。

5,如果通過dump手段將出問題的時候整個內存dump出來,可以通過打開trace32的模擬器,將dump出來的內存鏡像重新加載進去trace32,查看出問題的現場狀態進行定位bug的位置。當然要有和鏡像對應的符號表。

6,以上手段都沒有,可以通過點燈的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章