相信小伙伴們都會(huì)遇到這樣的場(chǎng)景:芯片程序跑著跑著就異常了,這個(gè)時(shí)候又不能仿真,因?yàn)橐坏┓抡娉绦蚓蜁?huì)重新download,異?,F(xiàn)象就消失了?,F(xiàn)在就來(lái)教大家如何使用Jlink仿真器去查看GD32芯片跑飛后程序死在哪里。
首先,我們需要將目標(biāo)板和Jlink進(jìn)行連接,只需要接三根線:SWDIO(PA13)、SWCLK(PA14)和GND,切記,一定不能接NRST腳,否則連接的時(shí)候就可能把芯片復(fù)位了,當(dāng)然,也一定要保證連接過(guò)程中芯片不要斷電。
然后在Jlink驅(qū)動(dòng)安裝目錄中找到Jlink.exe,雙擊打開:
打開后是這個(gè)界面:
鍵盤輸入:usb,點(diǎn)擊回車:
提示連接到Jlink,然后輸入:s,并回車
這里會(huì)有一個(gè)默認(rèn)芯片型號(hào),如果和目標(biāo)板上的型號(hào)不一致可以輸入:?,并回車,如果一致則直接回車。
因?yàn)樾【幱玫氖荊D32F303ZGT6,所以輸入了“?”,將會(huì)彈出選擇芯片的列表,找到目標(biāo)芯片并雙擊:
回到Jlink.exe界面:
因?yàn)槲覀兪怯肧WD接口,所以輸入:s,并回車:
這里會(huì)讓你選擇Jlink的通信速度,默認(rèn)是4000KHz,如果你的目標(biāo)板和Jlink之間的線比較長(zhǎng)的話,可以適當(dāng)降低速度,比如需要1000KHz,則鍵盤輸入:1000,并回車,將會(huì)出現(xiàn)下面這個(gè)界面:
我們看到紅色框線內(nèi)已經(jīng)提示找到芯片ID了,這時(shí)候在輸入:h,并回車,將看到以下界面:
紅色方框內(nèi)的PC值就代表了程序當(dāng)前執(zhí)行的位置,我們可以通過(guò)查看程序工程中的map文件,就可以找到程序正在運(yùn)行哪個(gè)函數(shù)了,如小編這里的PC值是0x08000AAA,map文件中符合這個(gè)地址的是delay_1ms函數(shù)。
是不是特別簡(jiǎn)單?
以后小編還會(huì)教大家如何通過(guò)Jlink.exe來(lái)進(jìn)行芯片的調(diào)試,敬請(qǐng)期待哦。
-
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634621 -
Jlink
+關(guān)注
關(guān)注
6文章
111瀏覽量
37681 -
GD32
+關(guān)注
關(guān)注
7文章
403瀏覽量
24326
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論