JTAG因為文章內容比較多,拆分成了四個部分,讀者可以根據需求,點擊查看其它的JTAG資訊:
JTAG基礎
JTAG除錯原理
JTAG除錯實體
模擬系統崩潰,使用JTAG除錯找到崩潰點
JTAG除錯實體
本文以DM8168芯片為例,使用XDS560仿真器,對JTAG進行除錯,
連接仿真器,查看仿真器型別,
通過設備管理器可以查看當前連接的仿真器型別和型號,方面后續除錯時選擇正確的仿真器型號,(根據自己實際使用的仿真器型號去選擇)

打開CCS5/CCS7軟體(沒有可以自行安裝)

新建/選擇專案目錄
這里不是重點,隨便新建一個目錄都可以,

“view”->“Target Configurations”
這里就是為了選擇仿真器型別+需要仿真的芯片型別,(仿真器型別看設備管理器,芯片型別看對應的芯片型號)

“Target Configurations” -> “User Defined” -> "NewTargetConfiguration.ccxml"
這里選擇對應的組態檔,可以自己新建.ccxml組態檔,

“NewTargetConfiguration.ccxml” -> "Connection" -> "Board or Device" -> “Save Configration” -> "Test Configration"
雙擊上一步的.ccxml組態檔,進入到配置界面,然后選擇對應的仿真器型別和芯片型別(仿真器型別看設備管理器,芯片型別看對應的芯片型號)
選擇結束后需要點擊“Save Configration”保存本次配置,然后點擊“Test Configration”測驗一下仿真器能否正常連接設備,
(注:在"Test Configration"這一步可能會出很多很多的問題,每個問題都需要單獨分析)
有關的JTAG連接問題,參考:
https://software-dl.ti.com/ccs/esd/documents/ccsv7_debugging_jtag_connectivity_issues.html

“Test Configration”測驗JTAG連接成功列印如下:

“Target Configurations” -> “User Defined” -> "NewTargetConfiguration.ccxml" ->(右鍵) "Launch Selected Configuration"
確認JTAG連接功能正常后,回到之前的“Target Configurations”界面(如果找不到了,重新按4、5步去做就能找到了)
在"NewTargetConfiguration.ccxml"界面通過滑鼠右鍵,打開"Launch Selected Configuration"選項,進入到JTAG除錯

"Launch Selected Configuration" -> "Debug" -> "xxx Debug Probe xxx" -> "Connect Target"
Launch之后,就可以開始Debug除錯了,選擇對應的芯片,點擊滑鼠右鍵,通過“Connect Target”連接,
連接成功后,芯片末尾()中會變成Suspended/Connect...之類,
后面就可以開始讀取對應的芯片暫存器了,

“Suspended” -> "view" -> "Memory..." / "Registers" / "Disassembly"...
連接上芯片后,可以除錯/查看的資訊有下面的幾個
"Memory..." - 輸入記憶體地址,列印對應記憶體地址上的值;
“Registers” - 直接查看Core暫存器中的PC、LR、R0~R15等暫存器,判斷當前系統運行在哪個函式上(需要我們將程式反匯編,再根據PC/LR中的值,找到該地址對應的函式)
“Disassembly” - 對應匯編指令(其實將運行的鏡像反匯編后,找到對應地址,看到的也是在執行這段命令)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/241505.html
標籤:其他
上一篇:ceph集群搭建手冊
