一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

上文小編給大家介紹了一下如何使用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

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

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

安裝成功后,我們?cè)賮磉B接一下板子看看是否能夠連接成功,這里測(cè)試的平臺(tái)是MIMXRT1060-EVK,輸入命令行:pyocd gdbserver--target mimxrt1060,就可以成功連接:

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

接下來,開始編寫對(duì)應(yīng)的VSCode配置腳本,請(qǐng)大家著重注意文中標(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)試成功。

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

External方式的使用

所謂external其實(shí)就是說gdb server是外部開啟的,不需要VSCode自動(dòng)打開。

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

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

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

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

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

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

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

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

好了,通過配置VSCode使用不同的gdb server,可以實(shí)現(xiàn)對(duì)嵌入式程序的精準(zhǔn)調(diào)試。這將有助于您更好地理解嵌入式系統(tǒng)的運(yùn)行機(jī)制和代碼行為,提高開發(fā)效率和質(zhì)量。希望能夠?yàn)槟峁┯杏玫闹笇?dǎo)和幫助。感興趣的朋友也可以嘗試一下其他server類型,或者使用external來配置使用暫不直接支持的第三方調(diào)試插件。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5125

    文章

    19438

    瀏覽量

    313068
  • GDB調(diào)試
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    1588
  • vscode
    +關(guān)注

    關(guān)注

    1

    文章

    166

    瀏覽量

    8279

原文標(biāo)題:使用VSCode調(diào)試嵌入式程序:配置與使用多樣化的gdb server

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    VSCode中使用J-Link調(diào)試嵌入式系統(tǒng)

    Visual Studio Code是微軟推出的免費(fèi)的源代碼編輯器,通過插件,可以實(shí)現(xiàn)GDB +J-Link+GDBServer方式在VSCode調(diào)試嵌入式系統(tǒng)。
    發(fā)表于 08-18 11:06 ?2201次閱讀
    在<b class='flag-5'>VSCode</b>中使用J-Link<b class='flag-5'>調(diào)試</b><b class='flag-5'>嵌入式</b>系統(tǒng)

    嵌入式開發(fā)習(xí)慣和嵌入式gdb調(diào)試步驟

    嵌入式linux開發(fā)過程中,出現(xiàn)BUG是在所難免的,這時(shí)就需要用到調(diào)試技術(shù)了,最常用、最簡(jiǎn)單的調(diào)試方法當(dāng)屬printf打印了。 如果ubuntu測(cè)試通過,程序下載到板子里出現(xiàn)BUG,
    發(fā)表于 12-17 23:39

    嵌入式Linux編譯調(diào)試

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

    如何搭建嵌入式Linux的GDB調(diào)試環(huán)境

    linux 領(lǐng)域我們最常用的就是GDB 調(diào)試工具,通過GDB調(diào)試嵌入式C 程序。本章我們首先
    發(fā)表于 11-05 06:03

    如何搭建嵌入式GDB調(diào)試環(huán)境?

    開發(fā)板如何與PC段通信?gdb如何移植?如何搭建嵌入式GDB調(diào)試環(huán)境?
    發(fā)表于 12-24 06:49

    如何使用GDB進(jìn)行嵌入式遠(yuǎn)程調(diào)試?

    如何使用 GDB 進(jìn)行嵌入式遠(yuǎn)程調(diào)試
    發(fā)表于 12-24 07:01

    如何在PC上通過gdb調(diào)試嵌入式程序

    怎樣通過網(wǎng)絡(luò)與PC端的gdb進(jìn)行通信呢?如何在PC上通過gdb調(diào)試嵌入式程序呢?
    發(fā)表于 12-24 06:27

    使用gdb遠(yuǎn)程調(diào)試嵌入式主板程序分享

    使用gdb遠(yuǎn)程調(diào)試嵌入式主板程序0. 準(zhǔn)備工作0.0 環(huán)境:Linux:Ubuntu18 64Bit in VMWare嵌入式目標(biāo)板:隨意,
    發(fā)表于 12-24 06:04

    嵌入式Linux的GDB調(diào)試環(huán)境建立

    嵌入式Linux的GDB調(diào)試環(huán)境由Host和Target兩部分組成,Host端使用arm-linux-gdb,Target Board端使用gdbserver。這樣,應(yīng)
    發(fā)表于 04-02 14:33 ?604次閱讀

    嵌入式Linux系統(tǒng)的GDB遠(yuǎn)程調(diào)試的實(shí)現(xiàn)

    stub是嵌入式系統(tǒng)中的一段代碼,作為宿主機(jī)GDB和目標(biāo)機(jī)調(diào)試程序間的一個(gè)媒介而存在。 就 目前而言,嵌入式Linux系統(tǒng)中,主要有三種遠(yuǎn)程調(diào)試
    發(fā)表于 04-02 14:38 ?497次閱讀

    GDB串行協(xié)議概述 GDB Server的作用

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

    使用 VSCode 遠(yuǎn)程 圖形化 GDB 調(diào)試 嵌入式linux

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

    嵌入式Linux GDB調(diào)試環(huán)境搭建與使用

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

    Linux嵌入式 gdb VSCode圖形化調(diào)試教程

    linux 領(lǐng)域我們最常用的就是GDB 調(diào)試工具,通過GDB調(diào)試嵌入式C 程序。本章我們首先
    發(fā)表于 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'>調(diào)試</b>教程

    嵌入式Linux GDB是什么

    GDB 調(diào)試工具,通過 GDB調(diào)試嵌入式 C 程序。
    的頭像 發(fā)表于 07-27 16:29 ?892次閱讀
    <b class='flag-5'>嵌入式</b>Linux <b class='flag-5'>GDB</b>是什么