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

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

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

使用VSCode搭建STM32開發(fā)環(huán)境

技術(shù)讓夢(mèng)想更偉大 ? 來源:CSDN ? 作者:ArthurZheng150 ? 2022-10-08 09:55 ? 次閱讀

以前在伴隨著開發(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 的終端。

4f060ce6-464b-11ed-96c9-dac502259ad0.png

開發(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)即可)

4f9753a4-464b-11ed-96c9-dac502259ad0.png4fcea854-464b-11ed-96c9-dac502259ad0.png




審核編輯:劉清

聲明:本文內(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)投訴
  • 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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    VSCODE+STM32開發(fā)環(huán)境搭建方式

    史上最簡(jiǎn)單的VSCODE+STM32開發(fā)環(huán)境搭建方式——基于IoT_Link寫在前邊現(xiàn)在用MDK開發(fā)ST
    發(fā)表于 08-03 08:20

    VSCode搭建STM32開發(fā)環(huán)境

    VSCode搭建STM32開發(fā)環(huán)境
    發(fā)表于 08-24 06:56

    求大佬分享基于IoT Link的VSCODE+STM32開發(fā)環(huán)境搭建方式

    求大佬分享基于IoT Link的VSCODE+STM32開發(fā)環(huán)境搭建方式
    發(fā)表于 10-11 09:18

    VSCode搭建類似Keil的開發(fā)環(huán)境

    強(qiáng)大的編輯器之后,就再也回不去了。再次面對(duì)Keil時(shí),感覺keil的代碼編輯或者閱讀代碼的功能實(shí)在是太不友好了,所以已經(jīng)習(xí)慣不了Keil了。于是,想著能不能在VSCode搭建類似Keil的開發(fā)
    發(fā)表于 11-19 07:44

    基于vscode編輯器的stm32 Arduino開發(fā)環(huán)境如何去搭建

    怎樣去下載并安裝vscode開發(fā)環(huán)境呢?基于vscode 編輯器的stm32 Arduino開發(fā)
    發(fā)表于 01-24 07:47

    如何搭建VSCode開發(fā)環(huán)境

    如何搭建VSCode開發(fā)環(huán)境
    發(fā)表于 02-11 08:10

    VSCode搭建STM32單片機(jī)開發(fā)環(huán)境

    強(qiáng)大的編輯器之后,就再也回不去了。再次面對(duì)Keil時(shí),感覺keil的代碼編輯或者閱讀代碼的功能實(shí)在是太不友好了,所以已經(jīng)習(xí)慣不了Keil了。于是,想著能不能在VSCode搭建類似Keil的開發(fā)
    發(fā)表于 11-13 11:06 ?15次下載
    <b class='flag-5'>VSCode</b><b class='flag-5'>搭建</b><b class='flag-5'>STM32</b>單片機(jī)<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    STM32 軟件開發(fā)環(huán)境搭建

    STM32 軟件開發(fā)環(huán)境搭建
    發(fā)表于 11-13 16:51 ?25次下載
    <b class='flag-5'>STM32</b> 軟件<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>

    使用 rust 開發(fā) stm32開發(fā)環(huán)境搭建

    使用 rust 開發(fā) stm32開發(fā)環(huán)境搭建
    發(fā)表于 11-18 19:36 ?51次下載
    使用 rust <b class='flag-5'>開發(fā)</b> <b class='flag-5'>stm32</b>:<b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>

    STM32 搭建開發(fā)環(huán)境

    STM32 搭建開發(fā)環(huán)境
    發(fā)表于 12-08 14:36 ?20次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>搭建</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>

    使用VSCode搭建STM32開發(fā)環(huán)境

    首先附上一張VS Code圖一直都喜歡這種,黑色主題感覺高大上。
    的頭像 發(fā)表于 10-10 15:04 ?1927次閱讀

    如何利用VSCode 搭建STM32開發(fā)環(huán)境

    下載 LLVM:用于代碼補(bǔ)全,其實(shí)可以理解為 Clang。因?yàn)閂S Code 中“C/C++”插件的自動(dòng)補(bǔ)全功能不太好用。STM32中好多庫函數(shù)都補(bǔ)全不出來。記得按照好之后,將路徑添加到環(huán)境變量里。
    發(fā)表于 10-20 09:47 ?5212次閱讀

    VSCode搭建STM32開發(fā)環(huán)境的一些常規(guī)且使用的功能

    文件–首選項(xiàng)–設(shè)置,搜索terminal,設(shè)置內(nèi)置終端的Shell為Bash(安裝VS Code的時(shí)候它會(huì)推薦你安裝Git,里面有這個(gè)Bash)?;蛘叽蜷_ Settings.json添加下面兩句。
    的頭像 發(fā)表于 10-20 14:14 ?1794次閱讀

    VScode+keil開發(fā)環(huán)境搭建安裝使用過程

    這篇文章主要介紹了VScode + keil開發(fā)環(huán)境搭建及安裝使用過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下。
    的頭像 發(fā)表于 10-21 09:19 ?5022次閱讀

    基于VSCode搭建STM32開發(fā)環(huán)境

    眾所周知,Keil是一款收費(fèi)軟件,雖然可以Po解使用,但很多公司還是有點(diǎn)害怕,想必有不少讀者都收到過**函。
    的頭像 發(fā)表于 09-26 09:55 ?2079次閱讀
    基于<b class='flag-5'>VSCode</b><b class='flag-5'>搭建</b><b class='flag-5'>STM32</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>