在數(shù)字電路的開(kāi)發(fā)和調(diào)試過(guò)程中經(jīng)常需要用JTAG來(lái)觀察和修改芯片狀態(tài)。本篇文章將從JTAG的介紹及使用詳細(xì)步驟以來(lái)展開(kāi)描述。
1
JTAG介紹
JTAG是英文“Joint Test Action Group”的縮寫,是一種硬件調(diào)試和測(cè)試技術(shù),常被用于在集成電路中診斷和調(diào)試問(wèn)題。JTAG的正式名稱為IEEE 1149.1標(biāo)準(zhǔn),是一種通過(guò)掃描鏈(scan chain)實(shí)現(xiàn)的測(cè)試方法,該方法可以在不破壞芯片的情況下,對(duì)集成電路進(jìn)行測(cè)試和調(diào)試。JTAG技術(shù)廣泛應(yīng)用于數(shù)字集成電路、嵌入式系統(tǒng)和電路板等硬件開(kāi)發(fā)領(lǐng)域。
在JTAG中,芯片上的所有測(cè)試點(diǎn)都被連接到一個(gè)掃描鏈中,這個(gè)掃描鏈允許對(duì)芯片進(jìn)行“非入侵式”地加載測(cè)試模式或者讀取芯片中的狀態(tài)。除了測(cè)試和調(diào)試,JTAG還可以用于燒寫程序和配置數(shù)據(jù)到芯片中,從而方便開(kāi)發(fā)人員進(jìn)行硬件和軟件的聯(lián)合調(diào)試和測(cè)試。JTAG接口通常由調(diào)試工具連接到開(kāi)發(fā)板上,以便開(kāi)發(fā)人員可以遠(yuǎn)程調(diào)試和測(cè)試集成電路。
2
JTAG使用教程
以下教程使用軟件環(huán)境為Telink IoT Studio(V2023.8)。軟件環(huán)境下載地址:
http://wiki.telink-semi.cn/wiki/IDE-and-Tools/Telink_IoT_Studio/
1、硬件連接
將TLSR9 DEV KEY與開(kāi)發(fā)板進(jìn)行連接,保證TCK(測(cè)試時(shí)鐘輸入)、TMS(測(cè)試模式選擇)、TDI(測(cè)試數(shù)據(jù)輸入)、TDO(測(cè)試數(shù)據(jù)輸出)、REF(參考電壓)、GND(接地)引腳連接正確,再使用USB數(shù)據(jù)線將TLSR9 DEV KEY連接至電腦,連接正常時(shí)只亮藍(lán)燈。
TLSR9 DEV KEY 購(gòu)買鏈接:https://item.taobao.com/item.htm?id=680161782840
2、使用Jtag_Burn 燒錄程序
點(diǎn)擊Telink →Jtag Burn(SPI Burn),燒錄程序時(shí),注意配置Jtag_Burn的路徑和芯片類型(Jtag_Burn 位于$IoTStudio/RDS/V3.2.3/flash/ 目錄下,其幫助文檔也在同一目錄),然后點(diǎn)擊 Start ICEman,ICEman 準(zhǔn)備好后,確保 Telnet Port 和 Burner Port 與 ICEman 保持一致,再點(diǎn)擊燒錄,如下圖:
3、使用JTAG進(jìn)行Debug
-
打開(kāi)ICEman:在進(jìn)行 Debug 之前,需要先執(zhí)行 ICEman。點(diǎn)擊上方工具欄 Telink --> Toolchain Shell or ICEman Shell --> Open ICEman(RDS V5.1.2) shell。
Windows環(huán)境下,在終端輸入命令:./ICEman -Z v5,執(zhí)行結(jié)果如下:
1111 就是需要監(jiān)聽(tīng)的 TCP 端口號(hào),調(diào)試過(guò)程中需要保證 ICEman 在運(yùn)行,不能關(guān)閉終端。ICEman 位于$IoTStudio/RDS/V5.1.1/ice/ 目錄下,也可以自行打開(kāi) ICEman。
-
Debug Configuration:打開(kāi)ICEman 之后,點(diǎn)擊工具欄 Debug 圖標(biāo)下拉箭頭,選擇 Debug Configuration。
選擇 C/C++ Remote Application, 配置 main 選項(xiàng)卡,選擇編譯出的 elf 文件作為 gdb 的輸入文件,并選擇 Disable auto build。
然后點(diǎn)擊下方的 Select other, 默認(rèn)為 Automatic, 選成 Manual。
點(diǎn)擊 Debugger 選項(xiàng)卡,配置相應(yīng)的 debugger, 這里是 riscv32-elf-gdb,注意不要勾選 Stop on startup at。
點(diǎn)擊 Connect 子選項(xiàng)卡,將 TCP 端口號(hào)填寫為 ICEman 得到的 1111。
配置完成,點(diǎn)擊調(diào)試按鈕,添加斷點(diǎn)即可開(kāi)始調(diào)試,界面如下:
-
設(shè)置斷點(diǎn):進(jìn)入debug模式后可以在需要程序停住的位置設(shè)置相應(yīng)斷點(diǎn),斷點(diǎn)最多支持2個(gè)(硬件斷點(diǎn)),斷點(diǎn)設(shè)置后的狀態(tài)如下圖。點(diǎn)擊Resume按鈕,程序會(huì)執(zhí)行到斷點(diǎn)處,再點(diǎn)一次,程序會(huì)執(zhí)行到下一處斷點(diǎn)處。
-
單步調(diào)試:step into單步調(diào)試遇到子函數(shù)進(jìn)入子函數(shù)執(zhí)行;step over單步調(diào)試,遇到子函數(shù)不進(jìn)入執(zhí)行。
4、通過(guò)選項(xiàng)卡查看和修改寄存器和內(nèi)存
Expressions選項(xiàng)卡內(nèi)可以查看變量/變量表達(dá)式,可以直接在Value處修改對(duì)應(yīng)的值。
Memory選項(xiàng)卡內(nèi)可以查看和修改內(nèi)存數(shù)據(jù)。
Registers選項(xiàng)卡內(nèi)可以查看和修改CPU寄存器數(shù)據(jù)。
本篇介紹到這,下一篇小編將給大家介紹JTAG相關(guān)工具命令行的使用和常見(jiàn)問(wèn)題及解決方法。
關(guān) 于 泰 凌
泰凌微電子致力于為客戶提供一站式的低功耗高性能無(wú)線連接SoC芯片解決方案,包括經(jīng)典藍(lán)牙,藍(lán)牙低功耗,藍(lán)牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有協(xié)議等低功耗2.4GHz多協(xié)議無(wú)線連接系統(tǒng)級(jí)芯片和豐富的固件協(xié)議棧。公司產(chǎn)品廣泛應(yīng)用于智能照明,智能家居/樓宇,智能遙控,無(wú)線外設(shè),智能零售,穿戴設(shè)備,無(wú)線音頻,智能玩具,物流追蹤,智慧城市等各類消費(fèi)和商業(yè)應(yīng)用場(chǎng)景中。
官網(wǎng):www.telink-semi.com
微信公眾號(hào):telink-semi
https://developers.telink-semi.cn/
銷售接洽:
中國(guó)大陸(華東、華北) :
+86-21-20281118-8213
中國(guó)大陸(華南、香港、音頻) :
+86-0755-26614003
telinksales@telink-semi.com
原文標(biāo)題:【技術(shù)專欄】泰凌微電子JTAG工具使用教程(一)
文章出處:【微信公眾號(hào):泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
泰凌微
+關(guān)注
關(guān)注
7文章
152瀏覽量
10823
原文標(biāo)題:【技術(shù)專欄】泰凌微電子JTAG工具使用教程(一)
文章出處:【微信號(hào):telink-semi,微信公眾號(hào):泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論