使用VSCODE除錯STM32的iar工程

2022-06-05 09:24:14 字數 2212 閱讀 1903

1.開啟vscode安裝外掛程式

主要用到iar for visual studio code,沒有使用iar embedded workbench,在編譯的時候卡住,目前不知道什麼原因,可能是iar的版本過低,7.0版本。

2.開啟工程資料夾

會由iar for visual studio code 這個外掛程式自動生成2個檔案:c_cpp_properties.json和iar-vsc.json。如果不能自動識別,手動輸入路徑

iar-vsc.json

點選terminal -> run task,選擇iar -> iar:build

會自動生成tasks.json

",

"config": "$",

"builder": "$/common/bin/iarbuild.exe",

"label": "iar: iar build",

"problemmatcher": [

"$iar-cc",

"$iar-linker"

],"group":

} ]}

3.編譯

通過terminal -> run build task

也可以快捷鍵 ctrl + shift + b 來進行編譯

4.除錯

除錯需要用到乙個偵錯程式,這裡用到了arm交叉編譯工具 gcc-arm-none-eabi。安裝,配置環境變數。

直接在資料夾建立launch.json。按ctrl + space或右下角點add configuration。

選擇。需要修改的地方:

"program": "$/ewarm/test/exe/project.out"    //out路徑

"midebuggerpath": "arm-none-eabi-gdb.exe", //上面安裝的交叉編譯工具裡的偵錯程式,因為加入了環境變數,所以不需要路徑

"debugserverpath": "c:/program files (x86)/segger/jlink_v502e/jlinkgdbservercl.exe", //這裡使用了j-link進行除錯,該路徑是安裝的j-link驅動的服務路徑

"debugserverargs": "-if swd -singlerun -strict -endian little -speed auto -port 3333 -device stm32f405rg -vd -strict -halt", //這裡修改裝置名, stm32f405rg

完整的檔案:

launch.json

/ewarm/test/exe/project.out",

"stopatentry": true,

"cwd": "$",

"externalconsole": true,

"mimode": "gdb",

"midebuggerpath": "arm-none-eabi-gdb.exe",

"debugserverpath": "c:/program files (x86)/segger/jlink_v502e/jlinkgdbservercl.exe",

"debugserverargs": "-if swd -singlerun -strict -endian little -speed auto -port 3333 -device stm32f405rg -vd -strict -halt",

"serverstarted": "connected\\ to\\ target",

"serverlaunchtimeout": 5000,

"filterstderr": false,

"filterstdout": true,

"setupcommands": [,,

,,]}

]}

stm32硬體除錯

stm32的基本系統主要涉及下面幾個部分 一 電源 1 無論是否使用模擬部分和ad部分,mcu外圍出去vcc和gnd,vdda vssa vref 如果 封裝有該引腳 都必需要連線,不可懸空 2 對於每組對應的vdd和gnd都應至少放置乙個104的陶瓷電容用於濾波,並接該 電容應放置盡量靠近mcu ...

STM32除錯問題

1 stm32用iar除錯出現error pe020 identifier file is undefined 解決方法 需要在 iar的options general options library configuration裡設定一下函式庫,不然printf函式不對,將library confi...

STM32簡單例程除錯

一 按鍵例程 key.c檔案 如下 按鍵初始化相當於gpio口的配置。步驟 時鐘設定,輸入輸出設定,io口屬性設定 include include key.h include delay.h 修改說明 按鍵初始化 void key init void 按鍵處理函式 返回按鍵值 u8 key scan...