[VSCODE]基於EIDE插件搭建vscode下的STM32單片機開發環境


EIDE(全稱Embedded IDE)是國內的一個大佬開發的vscode插件,本人用下來體驗非常好,因此在這里分享給大家,這是這個插件的官方論壇官方手冊
本篇文章只會提一些基本的使用,而且也只是針對基於有CUBEMX的STM32,如果想要開發其他單片機詳細的還是得參考手冊

本篇文章是給有基礎的人看的,vscode的基本使用在這里不會詳細展開,一些地方會講的比較粗略,如果有不懂的概念請自行查找資料

如果你不喜歡vscode而是喜歡JetBrain家的Clion,也可以參考大佬的這篇文章

那么我們正式開始

一、安裝GNU Arm Embedded Toolchain

去官網找
這個有手就行

二、安裝vscode

這也是有手就行

注意點是安裝的時候記得把下面幾個選項打開
image
確保自己的對着文件夾空白處的右擊菜單里面有通過code打開這個選項就行

三、安裝EIDE插件和一些輔助性插件

打開vscode,在左邊的Extensions欄(或者按Ctrl+Shift+X)里面可以搜索你想要的插件並安裝
搜索EIDE,找到我們的主角,然后Install即可

image
我這里是因為已經安裝過了所以沒有Install的按鈕

其他的一些插件:

  • C/C++
  • C++ Intellisense
  • Visual Studio IntelliCode
  • Cortex-Debug 在debug的時候會用到
  • Git Graph 和vscode自帶的git支持一起用會很方便
  • LinkerScript 提供鏈接腳本語法高亮
  • BracketPair Colorizer2 彩虹括號,用了都說好
  • 一些主題配色和圖標什么的,可以網上看看推薦,我是喜歡默認黑
  • background-cover 給你的vscode配上背景圖片,可以把你的老婆當背景什么的

四、EIDE插件的初始配置以及了解項目結構

4.1 插件配置

4.1.1 配置工具鏈

如果EIDE插件安裝成功的話vscode會在左側欄多出一個選項:
image
點進去會發現一共有上下兩欄,我們選擇下面的OPERATIONS,然后點擊Set ToolChain Path,在彈出的選項中選擇:image
接着選擇offline,然后選擇你的armgcc工具鏈安裝路徑即可,設置成功之后你再次打開這個選項菜單他就會和上面一樣打勾

4.1.2 配置燒錄器

我這里是用的Jlink做燒錄器,如果要用其他的燒錄器自己想辦法去~
點擊Open plug-in Settings,進入插件配置頁,找到Jlink,填入JLink的安裝路徑即可

4.2 了解項目結構

下文摘自官方文檔

項目文件

  • .eide eide項目文件夾,存放eide項目信息,日志等文件
  • .vscodevscode配置文件目錄
  • build編譯默認輸出目錄,可以在項目的設置中修改
  • pack芯片支持包的安裝位置 本篇教程不會涉及
  • *.code-workspacevscode工作區文件,這對於eide項目是必須的

用戶文件
即項目文件以外的文件或文件夾

五、正式開始搭建工程

5.1 EIDE新建工程

打開vscode,進入左邊EIDE一欄

選擇下面OPERATIONS欄里的New Project,接着選擇Empty Project,32是cortex內核的所以選擇Cortex-M Project

然后會讓你選擇文件夾,選擇你平時放代碼的文件夾即可,之后在右下角彈出來的窗口中確認,vscode就會自動進入該工作區

因為我們通過STM32CUBEMX生成代碼所以這里把自動生成的src文件夾刪除

5.2 用STM32CUBEMX生成代碼

這個大家都會,我就不贅述了

需要注意的是Toolchain/IDE我們選擇Makefile(其實不改也行,改了只是方便我們后續配置)
這個時候你的項目大概是長這樣的:
image

5.3 配置EIDE項目

進入vscode的左邊EIDE一欄,在上面的EIDE PROJECTS里面可以找到我們的項目了
我們展開它,發現有很多需要配置,我們一步步來
image

5.3.1 源文件目錄設置

鼠標停留在Project Resources一欄,會有一個文件夾以及綠色加號的圖標,我們點擊它可以新建源文件目錄,有虛擬文件夾和普通文件夾兩個選項,意思看它下面的注釋就能理解了

我們打開Makefile文件,找到C_SOURCES那一欄,對照着把文件夾補齊(我習慣是用普通文件夾的)
然后根目錄下的.s文件也是要加進去的,我的習慣是建一個虛擬文件夾放進去(在右鍵菜單里面可以添加文件)

這個時候你的配置大概是這樣:
image

5.3.2 設置編譯器選項

在那個Builder Configurations那一欄選擇arm-gcc工具鏈

然后展開的選項里面:
CPU Type:你單片機什么內核就選什么
Linker Script File Path:選擇根目錄下的.ld文件
Builder Options:照着makefile里面改就行,不過32的話我試下來不改也沒大事

設置完成大概是這樣:
image

5.3.3 設置燒錄器

選擇你的燒錄器,我這里是用的Jlink,如果用其他的燒錄器就選其他的,也可以選擇Openocd,但是這里不對Openocd做介紹,如有需要自行了解

展開來的選項里面CPU Name:選擇你的單片機型號

設置完成就這樣:
image

5.3.4 項目屬性

Include Directories:頭文件包含目錄,照着makefile中的C_INCLUDES添加即可
Library Directorise:庫目錄
Proprocessor Definitions:預定義,也是跟着makefile來

完畢之后是這樣
image

5.3.5 項目設置

基本不需要動


到此為止,項目已經搭建完成

六、編譯和燒錄!

打開項目里面隨便一個文件,右上角的Build按鍵即編譯,然后一個向下的箭頭即燒錄
如果出錯了就根據報錯找找原因,也翻翻上面有沒有遺漏的步驟

七、調試

gdb是不能調試keil編譯的工程的,所以如果你eide插件調用的是keil進行的編譯那就沒法用下面這個方式調試

這里會需要vscode的另外一個插件——Cortex-Debug
image
這個插件支持不少的debug方式,主流的是用openocd,但是我自己是在用jlink,所以這里用的是JlinkGDBServer的調試方式。如果你是其他的link的話可以參考其他的文章,比如這個

7.1 設置gdb路徑

在vscode的設置中搜索arm toolchain path然后應該能看到這一個選項
image
點擊Edit in settings.json然后像這樣添加一行指定你的路徑即可
image

7.2 設置你的jlinkGDBserver路徑

在vscode的設置中搜索jlink,應該能看到這一個選項:
image
點擊Edit in settings.json然后添加向我這樣的一樣就行
image

7.3. 設置launch.json

我們打開.vscode文件夾,可以看到類似下面的配置:
image

下面介紹一下上面幾個參數的含義

  • cwd:current working directory
  • type:調試器類型,這里我們要調試單片機就必須得是cortex-debug
  • name:這個任務的名字,可以自己取
  • servertype:根據你用的進行選擇,這里我用的是jlink,如果是openocd的改成openocd即可
  • interface:你的調試接線方式
  • executable:二進制文件
  • device:你的設備
  • svdFile:system view description,這個可有可無,是用來在debug時看寄存器值的,想要有的話可以去st官網找,不過其他的單片機就可能不會公開svd文件了

上面大部分的內容都是插件自動幫你填好的,有缺的可以自己添添補補

7.4 正式開始調試!

F5就可以開始調試了,或者點開左邊欄的RunAndDebug欄然后開始也一樣
總的界面就大概像下面這樣
image
左邊可以看變量、寄存器值等,打斷點之類的也是一切正常

八、打包一個模板並根據模板來生成新工程

前面一通操作不得不說還是要點時間的,而eide十分貼心的做了一個打包模板的功能,我們可以直接打包一份模板,以后可以基於這個模板新建工程,就不會有這么多准備工作去做了!

8.1 生成模板

實際操作就是在左邊欄進入eide的界面,右擊你的項目,點擊export eide project template,他就會在根目錄下生成一個ept文件
image

8.2 根據模板創建工程

在eide創建工程的時候選擇Local Template,然后選擇你剛生成的那個ept文件即可
其他操作看着指示來就行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM