上文小編給大家介紹了一下如何使用VSCode結(jié)合cortex-debug插件進(jìn)行調(diào)試的方法。本篇就趁熱打鐵,進(jìn)一步深入了解一下如何切換gdb server。讓我們可以不僅僅使用JLinkGDBServer進(jìn)行調(diào)試。
根據(jù)cortex-debug本身介紹,目前所支持的gdb server類型有: supported types are jlink, openocd, pyocd, pe, stlink, stutil, qemu,bmp and external. 本篇將著重介紹使用pyocd以及如何使用external選項(xiàng)來進(jìn)行調(diào)試。
pyocd的配置與使用
安裝pyocd非常的方便,我們通過名字就可以看出來,這東西好像是和python有關(guān),沒錯(cuò),安裝也是借助于python:
| pip install pyocd |
安裝完畢后,打開控制臺,直接鍵入pyocd查看是否安裝成功:

安裝成功后,我們再來連接一下板子看看是否能夠連接成功,這里測試的平臺是MIMXRT1060-EVK,輸入命令行:pyocd gdbserver--target mimxrt1060,就可以成功連接:

接下來,開始編寫對應(yīng)的VSCode配置腳本,請大家著重注意文中標(biāo)紅部分,并根據(jù)實(shí)際調(diào)試情況修改路徑。
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Cortex Debug",
"cwd": "${workspaceFolder}",
"executable": " evkmimxrt1060_hello_world.axf",
"request": "launch",
"type": "cortex-debug",
"runToEntryPoint": "main",
"servertype": "pyocd",
"target": "mimxrt1060",
"gdbTarget": "localhost:3333",
"svdFile":
"armToolchainPath": "C:/nxp/MCUXpressoIDE_11.7.1_9221/ide/plugins/com.nxp.mcuxpresso.tools.win32_11.7.1.202301190959/tools/bin"
}
]
}
這樣一來就可以開始正式調(diào)試了,調(diào)試方法和上期一致,點(diǎn)擊小綠三角,可以發(fā)現(xiàn)程序命中了斷點(diǎn),調(diào)試成功。

External方式的使用
所謂external其實(shí)就是說gdb server是外部開啟的,不需要VSCode自動打開。
編寫配置腳本,將“servertype”修改為extern,之后需要在本地打開pyocd:

否則會報(bào)錯(cuò):

再次點(diǎn)擊綠色小三角,即可進(jìn)行調(diào)試,效果和直接使用pyocd的方式?jīng)]有任何區(qū)別:

需要注意:如果此時(shí)點(diǎn)擊停止調(diào)試,本地打開的pyocd會顯示斷開連接,在下次調(diào)試前,需要手動重新開啟pyocd的gdb server。

好了,通過配置VSCode使用不同的gdb server,可以實(shí)現(xiàn)對嵌入式程序的精準(zhǔn)調(diào)試。這將有助于您更好地理解嵌入式系統(tǒng)的運(yùn)行機(jī)制和代碼行為,提高開發(fā)效率和質(zhì)量。希望能夠?yàn)槟峁┯杏玫闹笇?dǎo)和幫助。感興趣的朋友也可以嘗試一下其他server類型,或者使用external來配置使用暫不直接支持的第三方調(diào)試插件。
審核編輯:劉清
-
嵌入式
+關(guān)注
關(guān)注
5177文章
20003瀏覽量
325577 -
GDB調(diào)試
+關(guān)注
關(guān)注
0文章
24瀏覽量
1738 -
vscode
+關(guān)注
關(guān)注
1文章
169瀏覽量
8917
原文標(biāo)題:使用VSCode調(diào)試嵌入式程序:配置與使用多樣化的gdb server
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
在VSCode中使用J-Link調(diào)試嵌入式系統(tǒng)
嵌入式開發(fā)習(xí)慣和嵌入式gdb調(diào)試步驟
嵌入式Linux編譯調(diào)試
如何搭建嵌入式Linux的GDB調(diào)試環(huán)境
如何搭建嵌入式GDB的調(diào)試環(huán)境?
如何在PC上通過gdb調(diào)試嵌入式程序呢
使用gdb遠(yuǎn)程調(diào)試嵌入式主板程序分享
嵌入式Linux的GDB調(diào)試環(huán)境建立
嵌入式Linux系統(tǒng)的GDB遠(yuǎn)程調(diào)試的實(shí)現(xiàn)
GDB串行協(xié)議概述 GDB Server的作用
使用 VSCode 遠(yuǎn)程 圖形化 GDB 調(diào)試 嵌入式linux
嵌入式Linux GDB調(diào)試環(huán)境搭建與使用
Linux嵌入式 gdb VSCode圖形化調(diào)試教程

使用VSCode調(diào)試嵌入式程序:如何切換gdb server
評論