相信小伙伴們都會遇到這樣的場景:芯片程序跑著跑著就異常了,這個時候又不能仿真,因為一旦仿真程序就會重新download,異常現象就消失了。現在就來教大家如何使用Jlink仿真器去查看GD32芯片跑飛后程序死在哪里。
首先,我們需要將目標板和Jlink進行連接,只需要接三根線:SWDIO(PA13)、SWCLK(PA14)和GND,切記,一定不能接NRST腳,否則連接的時候就可能把芯片復位了,當然,也一定要保證連接過程中芯片不要斷電。
然后在Jlink驅動安裝目錄中找到Jlink.exe,雙擊打開:
打開后是這個界面:
鍵盤輸入:usb,點擊回車:
提示連接到Jlink,然后輸入:s,并回車
這里會有一個默認芯片型號,如果和目標板上的型號不一致可以輸入:?,并回車,如果一致則直接回車。
因為小編用的是GD32F303ZGT6,所以輸入了“?”,將會彈出選擇芯片的列表,找到目標芯片并雙擊:
回到Jlink.exe界面:
因為我們是用SWD接口,所以輸入:s,并回車:
這里會讓你選擇Jlink的通信速度,默認是4000KHz,如果你的目標板和Jlink之間的線比較長的話,可以適當降低速度,比如需要1000KHz,則鍵盤輸入:1000,并回車,將會出現下面這個界面:
我們看到紅色框線內已經提示找到芯片ID了,這時候在輸入:h,并回車,將看到以下界面:
紅色方框內的PC值就代表了程序當前執行的位置,我們可以通過查看程序工程中的map文件,就可以找到程序正在運行哪個函數了,如小編這里的PC值是0x08000AAA,map文件中符合這個地址的是delay_1ms函數。
是不是特別簡單?
以后小編還會教大家如何通過Jlink.exe來進行芯片的調試,敬請期待哦。
-
單片機
+關注
關注
6035文章
44554瀏覽量
634635 -
Jlink
+關注
關注
6文章
111瀏覽量
37681 -
GD32
+關注
關注
7文章
403瀏覽量
24328
發布評論請先 登錄
相關推薦
評論