繼上一篇為大家介紹了《泰凌微電子JTAG工具使用教程(一)》,本篇將繼續為大家介紹JTAG相關工具命令行的使用和常見問題及解決方法。
1
GDB常用命令的使用
正常debug的時候,可以在Telink IOT Studio上面設置斷點進行debug,斷點停住的時候,可以去讀PC以及狀態寄存器。但是在實際的debug過程中,經常會遇到死機的狀況,這個時候可以采用命令行方式操作GDB去讀PC以及狀態寄存器或者memory。
在Debugger Console窗口中輸入相應命令,可以對寄存器/內存進行讀寫操作。

命令舉例:
讀指令:
1
x/1w 0x20000e40 (從0x20000e40讀取一個word的數據)
2
x/1h 0x20000e40(從0x20000e40讀取half word的數據)
3
x/1b 0x20000e40(從0x20000e40讀取一byte的數據)
其中
x/: 表示讀
1: 讀取數量
W: 單位(word)
寫指令:
1
set *(unsigned int*) 0x20000e40=0x12345678
在地址0x20000e40 寫一個word,數值為0x12345678;
2
set *(unsigned short*) 0x20000e40=0x5678
在地址0x20000e40 寫half word,數值為0x5678;
3
set *(unsigned char*) 0x20000e40=0x78
在地址0x20000e40 寫1個字節,數值為0x78;
其中
Set: 代表寫
unsigned char: 寫入單位
0x20000e40 : 寫入地址
0x12345678 : 寫入數值
2
Telnet常用命令的使用
使用Telnet連接工具(putty或MobaXterm等)和ICEman可以在不stall MCU的情況下來讀寫寄存器和內存。
-
環境搭建:Mobaxterm軟件下載地址:https://mobaxterm.mobatek.net/。
-
打開ICEman(打開前確保IDE中JTAG連接斷開了,否則可能會藍屏),如果采用四線模式連接方式則執行"./ICEman -Z v5",采用兩線模式連接方式則執行"./ICEman -Z v5 -I aice_sdp.cfg",輸出信息中提示軟件打開了Telnet 4444號端口。
-
使用Mobaxterm軟件去連接Telnet 4444號端口。

常用設置命令:
nds configure dmi_quick_access 1
nds mem_access bus該指令用設置通過總線進行內存訪問(使用DMA訪問內存)
nds mem_access cpu該指令用設置通過CPU進行內存訪問
上面兩條內存訪問路徑的指令請根據實際需求來設定,如果要讀寫內存/寄存器,需要先執行指令nds configure dmi_quick_access 1 和 nds mem_access bus

查看調試信息
1、讀寄存器/內存的指令為,md[x] [addr] [count]。有三部分組成,其中mdx為讀取指令,[x]可選b(字節)、h(半字)、w(字)、d(雙字)[addr]是要讀取的寄存器/內存首地址地址,[count]是數量,不輸入時默認為1。
eg:
mdb 0xc0200018 1
mdh 0xc0200018 1
mdw 0xc0200018 1
mdd 0xc0200018 1
2、寫寄存器/內存的指令為,mw[x] [addr] [count]。有三部分組成,其中mdx為讀取指令,[x]可選b(字節)、h(半字)、w(字)、d(雙字)[addr]是要讀取的寄存器/內存首地址地址,[count]是數量。
eg:
mwb 0xc0200018 0x12
mwh 0xc0200018 0x1234
mww 0xc0200018 0x12345678
mwd 0xc0200018 0x1234567812345678
3
JTAG常見問題及解決方法
1、斷點設置異常
目前 TLSR9 系列 SOC 支持最多兩個硬件斷點,當程序運行的起始地址是 0x20000000 時,說明它運行在 flash 里面,需要使用硬件斷點。而 step in 或 step over 等命令本身就會用到一個斷點,所以用戶調試時只能自定義一個斷點,否則就會發生異常。這也是為什么不建議勾選 Stop on startup at,因為這個選項實際上的工作是設置了一個斷點。當調試時發生了 cannot access memory at address xx 異常時,可以使用 info br 命令檢查一下斷點數量。
2、斷點停止異常
在使用打斷點功能時需要注意:(1)斷點前必須存在對勾,否則斷點會停不住。(2)程序停的位置可能在設置斷點位置后的一兩行,屬于正常現象。
3、鏈接源文件異常
斷點調試的過程中,可能會發生找不到源文件的錯誤,此時點擊 Edit Source Path... , 如下圖:

點擊 Add, 選擇 Path Mapping, 編輯如下:


左邊需要手動輸入,右邊可以選擇路徑。此問題的原理是,將 IoT Studio 中的路徑正確映射到本地路徑,所以最簡單的映射方式也可以是將 /cygdrive/c/直接映射到 C:(示例中的 SDK 放在C盤)。上述配置完成后,即可正常調試。
4
總結
JTAG強大的功能為芯片研發工作提供了極大的便利。以上就是在Telink IoT Studio中使用JTAG的詳細介紹,有多種調試方式和豐富的調試功能供用戶選擇,為用戶在各種復雜環境下進行調試提供了更大的靈活性。
關 于 泰 凌
泰凌微電子致力于為客戶提供一站式的低功耗高性能無線連接SoC芯片解決方案,包括經典藍牙,藍牙低功耗,藍牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有協議等低功耗2.4GHz多協議無線連接系統級芯片和豐富的固件協議棧。公司產品廣泛應用于智能照明,智能家居/樓宇,智能遙控,無線外設,智能零售,穿戴設備,無線音頻,智能玩具,物流追蹤,智慧城市等各類消費和商業應用場景中。
官網:www.telink-semi.com
微信公眾號:telink-semi
https://developers.telink-semi.cn/
銷售接洽:
中國大陸(華東、華北) :
+86-21-20281118-8213
中國大陸(華南、香港、音頻) :
+86-0755-26614003
telinksales@telink-semi.com
原文標題:【技術專欄】泰凌微電子JTAG工具使用教程(二)
文章出處:【微信公眾號:泰凌微電子】歡迎添加關注!文章轉載請注明出處。
-
泰凌微
+關注
關注
7文章
154瀏覽量
10945
原文標題:【技術專欄】泰凌微電子JTAG工具使用教程(二)
文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
泰凌微電子邀您相約Embedded World 2025
泰凌微電子亮相CES 2025,斬獲豐碩成果

泰凌微電子精彩亮相CES 2025
泰凌微電子榮獲小米兩項大獎
泰凌微電子新款芯片推動人工智能應用創新發展
泰凌微電子邀您相約CES 2025
泰凌微電子獲藍牙 6.0 認證,助力藍牙技術拓展與應用升級

泰凌微電子推出Wi-Fi 6多協議TLSR9118 SoC
泰凌微電子發布Wi-Fi 6多協議TLSR9118 SoC

泰凌微電子:20億顆芯片里程碑,創新驅動物聯網未來

評論