相信小伙伴們都會遇到這樣的場景:芯片程序跑著跑著就異常了,這個時候又不能仿真,因為一旦仿真程序就會重新download,異常現象就消失了。現在就來教大家如何使用Jlink仿真器去查看GD32芯片跑飛后程序死在哪里。
首先,我們需要將目標板和Jlink進行連接,只需要接三根線:SWDIO(PA13)、SWCLK(PA14)和GND,切記,一定不能接NRST腳,否則連接的時候就可能把芯片復位了,當然,也一定要保證連接過程中芯片不要斷電。
然后在Jlink驅動安裝目錄中找到Jlink.exe,雙擊打開:
![wKgZomWzDyGAIbNHAACo7X793CI604.png](https://file1.elecfans.com/web2/M00/BE/7B/wKgZomWzDyGAIbNHAACo7X793CI604.png)
打開后是這個界面:
![wKgZomWzDyaAUr9EAAAotmr2haM333.png](https://file1.elecfans.com/web2/M00/BE/7B/wKgZomWzDyaAUr9EAAAotmr2haM333.png)
鍵盤輸入:usb,點擊回車:
![wKgaomWzDyuAU3F1AAAz_zbt1_A023.png](https://file1.elecfans.com/web2/M00/BF/68/wKgaomWzDyuAU3F1AAAz_zbt1_A023.png)
提示連接到Jlink,然后輸入:s,并回車
![wKgZomWzDzCALjWNAABmpQei-AU947.png](https://file1.elecfans.com/web2/M00/BE/7B/wKgZomWzDzCALjWNAABmpQei-AU947.png)
這里會有一個默認芯片型號,如果和目標板上的型號不一致可以輸入:?,并回車,如果一致則直接回車。
因為小編用的是GD32F303ZGT6,所以輸入了“?”,將會彈出選擇芯片的列表,找到目標芯片并雙擊:
![wKgZomWzDzWAAz0-AAA1tJM4F1Q505.png](https://file1.elecfans.com/web2/M00/BE/7B/wKgZomWzDzWAAz0-AAA1tJM4F1Q505.png)
回到Jlink.exe界面:
![wKgaomWzDzqAGGPOAABEASNVLrw268.png](https://file1.elecfans.com/web2/M00/BF/68/wKgaomWzDzqAGGPOAABEASNVLrw268.png)
因為我們是用SWD接口,所以輸入:s,并回車:
![wKgZomWzDz-AJ9HuAABDKkFHppM278.png](https://file1.elecfans.com/web2/M00/BE/7B/wKgZomWzDz-AJ9HuAABDKkFHppM278.png)
這里會讓你選擇Jlink的通信速度,默認是4000KHz,如果你的目標板和Jlink之間的線比較長的話,可以適當降低速度,比如需要1000KHz,則鍵盤輸入:1000,并回車,將會出現下面這個界面:
![wKgaomWzD0SASwhCAABRnLMvkFc601.png](https://file1.elecfans.com/web2/M00/BF/68/wKgaomWzD0SASwhCAABRnLMvkFc601.png)
我們看到紅色框線內已經提示找到芯片ID了,這時候在輸入:h,并回車,將看到以下界面:
![wKgaomWzD0iARFpNAABbJQo4bJU613.png](https://file1.elecfans.com/web2/M00/BF/68/wKgaomWzD0iARFpNAABbJQo4bJU613.png)
紅色方框內的PC值就代表了程序當前執行的位置,我們可以通過查看程序工程中的map文件,就可以找到程序正在運行哪個函數了,如小編這里的PC值是0x08000AAA,map文件中符合這個地址的是delay_1ms函數。
![wKgaomWzD36ABdqrAABQBxd2Qgs781.png](https://file1.elecfans.com/web2/M00/BF/68/wKgaomWzD36ABdqrAABQBxd2Qgs781.png)
是不是特別簡單?
以后小編還會教大家如何通過Jlink.exe來進行芯片的調試,敬請期待哦。
-
單片機
+關注
關注
6043文章
44621瀏覽量
638570 -
Jlink
+關注
關注
6文章
111瀏覽量
37799 -
GD32
+關注
關注
7文章
413瀏覽量
24471
發布評論請先 登錄
相關推薦
![](https://file1.elecfans.com/web2/M00/BF/8E/wKgaomW0Xi2AGfiaAAtTD2zshmQ893.png)
GD32和STM32的區別在哪
什么是GD32
JFlash解除GD32讀保護的方法
GD32芯片包添加步驟有哪些
GD32F系列單片機開發總結(二):GD32芯片包添加步驟
![<b class='flag-5'>GD</b>32F系列單片機開發總結(二):<b class='flag-5'>GD32</b><b class='flag-5'>芯片</b>包添加步驟](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論