<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用VSCode調試嵌入式程序:如何切換gdb server

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 2024-05-09 11:02 ? 次閱讀

上文小編給大家介紹了一下如何使用VSCode結合cortex-debug插件進行調試的方法。本篇就趁熱打鐵,進一步深入了解一下如何切換gdb server。讓我們可以不僅僅使用JLinkGDBServer進行調試。

根據cortex-debug本身介紹,目前所支持的gdb server類型有: supported types are jlink, openocd, pyocd, pe, stlink, stutil, qemu,bmp and external. 本篇將著重介紹使用pyocd以及如何使用external選項來進行調試。

pyocd的配置與使用

安裝pyocd非常的方便,我們通過名字就可以看出來,這東西好像是和python有關,沒錯,安裝也是借助于python:

pip install pyocd

安裝完畢后,打開控制臺,直接鍵入pyocd查看是否安裝成功:

31efde24-0db0-11ef-a297-92fbcf53809c.png

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

31fa4800-0db0-11ef-a297-92fbcf53809c.png

接下來,開始編寫對應的VSCode配置腳本,請大家著重注意文中標紅部分,并根據實際調試情況修改路徑。

{
    // 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"
        }
    ]
}

這樣一來就可以開始正式調試了,調試方法和上期一致,點擊小綠三角,可以發現程序命中了斷點,調試成功。

32062864-0db0-11ef-a297-92fbcf53809c.png

External方式的使用

所謂external其實就是說gdb server是外部開啟的,不需要VSCode自動打開。

編寫配置腳本,將“servertype”修改為extern,之后需要在本地打開pyocd:

31fa4800-0db0-11ef-a297-92fbcf53809c.png

否則會報錯:

32574c6c-0db0-11ef-a297-92fbcf53809c.png

再次點擊綠色小三角,即可進行調試,效果和直接使用pyocd的方式沒有任何區別:

32062864-0db0-11ef-a297-92fbcf53809c.png

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

32908d92-0db0-11ef-a297-92fbcf53809c.png

好了,通過配置VSCode使用不同的gdb server,可以實現對嵌入式程序的精準調試。這將有助于您更好地理解嵌入式系統的運行機制和代碼行為,提高開發效率和質量。希望能夠為您提供有用的指導和幫助。感興趣的朋友也可以嘗試一下其他server類型,或者使用external來配置使用暫不直接支持的第三方調試插件。



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    4987

    文章

    18323

    瀏覽量

    289305
  • GDB調試
    +關注

    關注

    0

    文章

    24

    瀏覽量

    1400
  • vscode
    +關注

    關注

    1

    文章

    148

    瀏覽量

    7415

原文標題:使用VSCode調試嵌入式程序:配置與使用多樣化的gdb server

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    VSCode中使用J-Link調試嵌入式系統

    Visual Studio Code是微軟推出的免費的源代碼編輯器,通過插件,可以實現GDB +J-Link+GDBServer方式在VSCode調試嵌入式系統。
    發表于 08-18 11:06 ?809次閱讀
    在<b class='flag-5'>VSCode</b>中使用J-Link<b class='flag-5'>調試</b><b class='flag-5'>嵌入式</b>系統

    嵌入式開發習慣和嵌入式gdb調試步驟

    嵌入式linux開發過程中,出現BUG是在所難免的,這時就需要用到調試技術了,最常用、最簡單的調試方法當屬printf打印了。 如果ubuntu測試通過,程序下載到板子里出現BUG,
    發表于 12-17 23:39

    嵌入式Linux編譯調試

    文件,然后make,這樣就可以得到對應的bin運行文件,最后把該運行文件拷貝到嵌入式Linux板子上,運行程序。而調試的話,一般是用在Linux虛擬機中用交叉編譯工具的gdb進行
    發表于 11-04 09:04

    如何搭建嵌入式Linux的GDB調試環境

    linux 領域我們最常用的就是GDB 調試工具,通過GDB調試嵌入式C 程序。本章我們首先
    發表于 11-05 06:03

    如何搭建嵌入式GDB調試環境?

    開發板如何與PC段通信?gdb如何移植?如何搭建嵌入式GDB調試環境?
    發表于 12-24 06:49

    如何搭建嵌入式gdb+gdbserver調試環境?

    如何搭建嵌入式gdb+gdbserver調試環境?
    發表于 12-24 06:14

    如何使用GDB進行嵌入式遠程調試?

    如何使用 GDB 進行嵌入式遠程調試?
    發表于 12-24 07:01

    如何在PC上通過gdb調試嵌入式程序

    怎樣通過網絡與PC端的gdb進行通信呢?如何在PC上通過gdb調試嵌入式程序呢?
    發表于 12-24 06:27

    使用gdb遠程調試嵌入式主板程序分享

    使用gdb遠程調試嵌入式主板程序0. 準備工作0.0 環境:Linux:Ubuntu18 64Bit in VMWare嵌入式目標板:隨意,
    發表于 12-24 06:04

    嵌入式Linux的GDB調試環境建立

    嵌入式Linux的GDB調試環境由Host和Target兩部分組成,Host端使用arm-linux-gdb,Target Board端使用gdbserver。這樣,應
    發表于 04-02 14:33 ?403次閱讀

    GDB串行協議概述 GDB Server的作用

    1.概述做嵌入式開發時,很多時候都會使用到GDB,從底層去理解GDB調試過程,將更加容易的理解調試的過程。 在做
    的頭像 發表于 08-10 10:10 ?4844次閱讀
    <b class='flag-5'>GDB</b>串行協議概述 <b class='flag-5'>GDB</b> <b class='flag-5'>Server</b>的作用

    使用 VSCode 遠程 圖形化 GDB 調試 嵌入式linux

    目錄標題引言環境步驟vscode remote ssh 配置Linux編譯機配置設備板端配置vscode launch設置調試引言之前說了,通過core dump找程序bug,但是有
    發表于 11-01 17:06 ?1次下載
    使用 <b class='flag-5'>VSCode</b> 遠程 圖形化 <b class='flag-5'>GDB</b> <b class='flag-5'>調試</b> <b class='flag-5'>嵌入式</b>linux

    嵌入式Linux GDB調試環境搭建與使用

    /跳出函數、設置斷點、查看變量等等。Ubuntu資源充足,可以直接用gdb調試程序。嵌入式Linux性能弱,一般PC上運行源碼和GDB工具,可執行文件在開發板上運行。PC上通過
    發表于 11-01 17:59 ?8次下載
    <b class='flag-5'>嵌入式</b>Linux <b class='flag-5'>GDB</b><b class='flag-5'>調試</b>環境搭建與使用

    Linux嵌入式 gdb VSCode圖形化調試教程

    linux 領域我們最常用的就是GDB 調試工具,通過GDB調試嵌入式C 程序。本章我們首先
    發表于 11-02 12:21 ?15次下載
    Linux<b class='flag-5'>嵌入式</b> <b class='flag-5'>gdb</b> <b class='flag-5'>VSCode</b>圖形化<b class='flag-5'>調試</b>教程

    嵌入式Linux GDB是什么

    GDB 調試工具,通過 GDB調試嵌入式 C 程序。
    的頭像 發表于 07-27 16:29 ?459次閱讀
    <b class='flag-5'>嵌入式</b>Linux <b class='flag-5'>GDB</b>是什么
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>