以前在伴隨著開發(fā)平臺(tái)的轉(zhuǎn)換中,我嘗試過各種各樣的開發(fā)環(huán)境,而在最近一段時(shí)間的開發(fā)中我使用了Visual Studio Code來作為代碼編輯器,其優(yōu)異的工程管理,超快的啟動(dòng)速度,各種各樣功能強(qiáng)大的插件,使我立刻愛上了這個(gè)文本編輯器。
但是在開發(fā)中來來回回在編輯器和Keil等IDE之間來回切換對(duì)我造成了不少不方便,另外由于希望能夠在windows下使用gcc工具鏈開發(fā),所以我嘗試使用插件來完整的在vscode上搭建了一個(gè)開發(fā)環(huán)境??梢哉f這是我在windows平臺(tái)下嘗試過的最好用的一種搭配,下面我就來詳細(xì)講述一下這個(gè)環(huán)境的搭建和基本使用方式。
ps:啟動(dòng)真心快,在win下優(yōu)化程度堪比記事本.
安裝軟件
下載安裝 Visual Studio Code
過程按照正常方式安裝就可,記得在安裝快完成后的選項(xiàng)中勾選,添加右鍵打開文件和文件夾的選項(xiàng),把有選擇的那頁全部勾選就行,這樣就可以很方便的在文件夾目錄下快速用VS Code打開文件或工程目錄了。
下載安裝 Clang
用于提供語法補(bǔ)全代碼格式化等功能,正常完成安裝后將軟件的安裝目錄下的bin文件夾設(shè)置進(jìn)入環(huán)境變量PATH中。 如:
D:LLVMin
下載安裝 Git for Windows
提供Git支持和MINGW64指令終端。
下載 OpenOCD for Windows
下載后的文件不是安裝包,把程序文件夾放入自己的軟件安裝目錄下,將軟件的bin文件夾路徑加入用戶環(huán)境變量PATH中。 如:
D:OpenOCD0.10.0in
下載安裝 arm-none-eabi-gcc
正常安裝,安裝后需要將軟件的安裝目錄下的bin文件夾設(shè)置進(jìn)入環(huán)境變量PATH中。 如:
D:GNUToolsARMEmbedded72017-q4-majorin
配置 VS Code
安裝插件
在軟件左側(cè)選項(xiàng)中選擇擴(kuò)展選項(xiàng),在插件市場(chǎng)中搜索安裝 VS Code 插件如下:
ARM
提供 ARM 匯編代碼的語法識(shí)別加亮
C/C++
提供 C/C++ 的語法智能感知、加亮及調(diào)試功能
C/C++ Clang Command Adapter
提供 Clang 功能的調(diào)用
Code Outline
提供類似 eclipse 文件函數(shù)列表的功能
GBKtoUTF8
用來識(shí)別調(diào)整文件的編碼格式
Makefiles support for VSCode
提供對(duì) Makefile 的語法識(shí)別等功能
設(shè)置 VS Code 功能
點(diǎn)擊 文件 -> 首選項(xiàng) -> 設(shè)置,來打開 VS Code 的配置文件( VS Code 采用 json 格式的文件進(jìn)行配置,沒有圖形界面),在文件中加入如下配置(窗口左側(cè)為系統(tǒng)殼配置選項(xiàng)及默認(rèn)參數(shù)是只讀的,右側(cè)窗口為配置設(shè)置界面,可寫),尤其注意最后兩項(xiàng)執(zhí)行程序的路徑要設(shè)到自己的路徑下:
{ "editor.detectIndentation":false, "git.ignoreMissingGitWarning":true, "files.autoGuessEncoding":true, "editor.formatOnSave":true, "editor.formatOnPaste":true, "editor.formatOnType":true, "terminal.integrated.shell.windows":"D:\Git\bin\bash.exe", "terminal.external.windowsExec":"D:\Git\bin\bash.exe", }
然后我們我們重啟程序加載配置,而后點(diǎn)擊 查看 -> 集成終端 可以看到 VS Code 的內(nèi)部終端已經(jīng)改變?yōu)?MINGW64 的終端。
開發(fā)工程
首先選擇一個(gè)用 CubeMX 生成的帶 Makefile 的工程目錄,右鍵點(diǎn)擊空白處,選擇以 Open With Code ,首先我們打開 Makefile 文件,修改求其中的 arm-none-gcc-eabi 的路徑設(shè)置,由于我們已經(jīng)將工具鏈的路徑設(shè)置進(jìn)入環(huán)境變量中,這里只需要將執(zhí)行指令前的路徑變量全部刪除即可,如下:
####################################### #binaries ####################################### BINPATH= PREFIX=arm-none-eabi- CC=$(PREFIX)gcc AS=$(PREFIX)gcc-xassembler-with-cpp CP=$(PREFIX)objcopy AR=$(PREFIX)ar SZ=$(PREFIX)size HEX=$(CP)-Oihex BIN=$(CP)-Obinary-S
修改樣本工程下的配置文件到自己的工程中
.vscode 目錄下文件共有3個(gè)配置文件,實(shí)際上我們只需要配置launch.json文件就可以實(shí)現(xiàn)全部的調(diào)試功能,但是由于vscode不會(huì)自動(dòng)識(shí)別makefile中的配置參數(shù),所以如果想要使其代碼索引,智能感知運(yùn)行正確的話,就需要我們單獨(dú)設(shè)置其中的c_cpp_properties.json文件。
includePath 提供.h的搜索目錄
defines 編譯時(shí)在指令中加入的宏定義
path 使用右鍵或ctrl追蹤函數(shù)實(shí)現(xiàn)時(shí)搜索的目錄
c_cpp_properties.json 用于設(shè)定工程的 Include 路徑,宏定義及搜索瀏覽路徑,其中需要設(shè)定三個(gè)參數(shù):
launch.json 用于設(shè)定調(diào)試功能這個(gè)文件的參數(shù)很多,我們對(duì)于簡(jiǎn)單的使用,只需要將其中的路徑改為自己的工程路徑和名稱即可,有關(guān)于其具體意義和使用方式的說明可以查看c/c++插件的官方github userguid來學(xué)習(xí)使用。其中需要注意的是,由于我們的調(diào)試是在windows環(huán)境下使用mingw64來實(shí)現(xiàn)的,所以在調(diào)試的啟動(dòng)過程中指令會(huì)在windows cmd和mingw64跳轉(zhuǎn)幾次,具體指令是在哪個(gè)終端內(nèi)調(diào)用的要根據(jù)指令的類型來決定,所以我們必須很小心的來設(shè)置路徑參數(shù),分清“ / ” 和 “ ”路徑的表示方法,如果執(zhí)行起來有錯(cuò)誤,就多看看啟動(dòng)時(shí),在調(diào)試窗口打印的記錄來調(diào)整修改正確。
settings.json 用于設(shè)定工程中 VS Code 的特殊設(shè)置可以設(shè)置特定的如代碼格式化樣式等。
啟動(dòng)調(diào)試
如果我們之前 c_cpp_properties.json 設(shè)置正確的話,這時(shí)在左側(cè)調(diào)試界面中,我們應(yīng)該就可以看到,launch中有一個(gè)調(diào)試啟動(dòng)選項(xiàng)了,在下方終端中使用make編譯生成elf文件,點(diǎn)擊啟動(dòng)調(diào)試,即可開始調(diào)試了。啟動(dòng)后與大多數(shù)編譯器操作是相同的,單步運(yùn)行,右鍵運(yùn)行到該行,鼠標(biāo)懸停顯示數(shù)據(jù)等。(唯一注意的是由于插件本身的bug,調(diào)試啟動(dòng)后不會(huì)自動(dòng)停在代碼起始位置或main函數(shù)入口位置,對(duì)此我們只需要在調(diào)試前在代碼運(yùn)行的第二行或者main函數(shù)入口手動(dòng)加個(gè)斷點(diǎn)即可)
審核編輯:劉清
-
STM32
+關(guān)注
關(guān)注
2264文章
10854瀏覽量
354293 -
vscode
+關(guān)注
關(guān)注
1文章
154瀏覽量
7649
原文標(biāo)題:STM32高級(jí)開發(fā)——使用VS Code搭建STM32開發(fā)環(huán)境
文章出處:【微信號(hào):技術(shù)讓夢(mèng)想更偉大,微信公眾號(hào):技術(shù)讓夢(mèng)想更偉大】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論