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