發(fā)現(xiàn)我做事情磨刀可能有點誤砍柴工了,不過前面3個星期磨刀重抖,積累出的經(jīng)驗讓我很有底氣去應(yīng)對程序出現(xiàn)的異常了露氮,極大地節(jié)約了以后程序開發(fā)的調(diào)試成本。
這一篇是我新發(fā)現(xiàn)的一個功能钟沛,使用vs code 編譯下載iar工程畔规。目前只調(diào)試出了基本的編譯下載功能,但是已經(jīng)算是很實用了恨统。 實在是不喜歡iar粗俗的界面和不健全的跳轉(zhuǎn)叁扫,然后又受不住切換到vs code編寫三妈,再到iar調(diào)試這樣的奇怪模式。
1 安裝相關(guān)插件
在vs code中搜索安裝以下插件:
vs code的使用就不多說了陌兑,用vscode打開iar工程的文件夾沈跨,它會初始化出來一個.vscode文件夾,這個后面會用到兔综。
安裝好插件之后重新加載一下程序饿凛,最好重啟一下vs code。
2 編譯配置
在IAR Embedded Workbench插件的介紹頁面可以看到相關(guān)內(nèi)容软驰,這里講解一下涧窒。
(這個只是使用IAR的功能,所以還是要安裝IAR的)
2.1 創(chuàng)建iar.json
在vs的資源管理器中锭亏,找到.vscode
纠吴,新建文件iar.json ,
輸入以下內(nèi)容:
{
"version": 1,
"path": "C:\\Program Files (x486)\\IAR Systems\\Embedded Workbench 8.0\\",
"project": "C:\\Projects\\TEST\\TEST.ewp",
"config": "Debug"
}
"version"可以隨便寫
"path"就是iar的路徑慧瘤,可以在電腦的資源管理器里搜索Embedded Workbench找到它
"project"工程位置戴已,就是要編譯的iar工程的位置。
以上需要注意的是\
需要進行轉(zhuǎn)義锅减,所以是兩個反斜杠糖儡。
"config"其實就是iar頂部這個:
2.2 使能
打開vscode的settings.json:
在搜索欄搜索iar.enabled,移動鼠標獲取會出現(xiàn)一個筆怔匣,點擊就會在右側(cè)生成true握联,就配置好了。
2.3 build
快捷鍵ctrl+shift+b 開始調(diào)試每瞒,可以把搜狗輸入法同一個快捷鍵取消掉(很煩)金闽。
3 debug
這一步就是使用jlink下載調(diào)試了。
點擊左側(cè)的調(diào)試按鈕剿骨,再點擊小齒輪代芜,就會打開launch.json.
需要做的修改示例如下:
{
"version": "0.2.1",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "E:\\demo.out",
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "E:\\arm-none-eabi-gdb.exe",
"debugServerPath": "C:\\Program Files (x86)\\SEGGER\\JLink_V600i\\JLinkGDBServerCL.exe",
"debugServerArgs": "-if swd -singlerun -strict -endian little -speed auto -port 3333 -device STM32FXXXXX -vd -strict -halt",
"serverStarted": "Connected\\ to\\ target",
"serverLaunchTimeout": 5000,
"filterStderr": false,
"filterStdout": true,
"setupCommands": [
{"text": "target remote localhost:3333"},
{"text": "monitor flash breakpoints = 1"},
{"text": "monitor flash download = 1"},
{"text": "monitor reset"},
{"text": "load E:/demo.out"},
{"text": "monitor reset"}
]
}
]
}
需要修改的是以下幾條:
"program":輸出的demo.out路徑,注意雙反斜杠
"miDebuggerPath":在工程中搜索arm-none-eabi-gdb.exe的位置
"debugServerPath":在系統(tǒng)中搜索JLinkGDBServerCL.exe的位置
"debugServerArgs":STM32FXXXX改成對應(yīng)的具體型號浓利,在這里可以看到:
"setupCommands": 的{"text": "load后面的路徑要改挤庇,注意斜杠方向。
最后在左側(cè)頂部點擊綠色箭頭就可以調(diào)試了荞膘。