EIDE(全稱Embedded IDE)是國內的一個大佬開發的vscode插件,本人用下來體驗非常好,因此在這里分享給大家,這是這個插件的官方論壇和官方手冊
本篇文章只會提一些基本的使用,而且也只是針對基於有CUBEMX的STM32,如果想要開發其他單片機詳細的還是得參考手冊
本篇文章是給有基礎的人看的,vscode的基本使用在這里不會詳細展開,一些地方會講的比較粗略,如果有不懂的概念請自行查找資料
如果你不喜歡vscode而是喜歡JetBrain家的Clion,也可以參考大佬的這篇文章
那么我們正式開始
一、安裝GNU Arm Embedded Toolchain
去官網找
這個有手就行
二、安裝vscode
這也是有手就行
注意點是安裝的時候記得把下面幾個選項打開
確保自己的對着文件夾空白處的右擊菜單里面有通過code打開
這個選項就行
三、安裝EIDE插件和一些輔助性插件
打開vscode,在左邊的Extensions欄(或者按Ctrl+Shift+X)里面可以搜索你想要的插件並安裝
搜索EIDE,找到我們的主角,然后Install即可
我這里是因為已經安裝過了所以沒有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會在左側欄多出一個選項:
點進去會發現一共有上下兩欄,我們選擇下面的OPERATIONS,然后點擊Set ToolChain Path,在彈出的選項中選擇:
接着選擇offline,然后選擇你的armgcc工具鏈安裝路徑即可,設置成功之后你再次打開這個選項菜單他就會和上面一樣打勾
4.1.2 配置燒錄器
我這里是用的Jlink做燒錄器,如果要用其他的燒錄器自己想辦法去~
點擊Open plug-in Settings
,進入插件配置頁,找到Jlink,填入JLink的安裝路徑即可
4.2 了解項目結構
下文摘自官方文檔
項目文件:
.eide
eide項目文件夾,存放eide項目信息,日志等文件.vscode
vscode配置文件目錄build
編譯默認輸出目錄,可以在項目的設置中修改pack
芯片支持包的安裝位置 本篇教程不會涉及*.code-workspace
vscode工作區文件,這對於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(其實不改也行,改了只是方便我們后續配置)
這個時候你的項目大概是長這樣的:
5.3 配置EIDE項目
進入vscode的左邊EIDE一欄,在上面的EIDE PROJECTS里面可以找到我們的項目了
我們展開它,發現有很多需要配置,我們一步步來
5.3.1 源文件目錄設置
鼠標停留在Project Resources一欄,會有一個文件夾以及綠色加號的圖標,我們點擊它可以新建源文件目錄,有虛擬文件夾和普通文件夾兩個選項,意思看它下面的注釋就能理解了
我們打開Makefile文件,找到C_SOURCES
那一欄,對照着把文件夾補齊(我習慣是用普通文件夾的)
然后根目錄下的.s文件也是要加進去的,我的習慣是建一個虛擬文件夾放進去(在右鍵菜單里面可以添加文件)
這個時候你的配置大概是這樣:
5.3.2 設置編譯器選項
在那個Builder Configurations那一欄選擇arm-gcc工具鏈
然后展開的選項里面:
CPU Type
:你單片機什么內核就選什么
Linker Script File Path
:選擇根目錄下的.ld文件
Builder Options
:照着makefile里面改就行,不過32的話我試下來不改也沒大事
設置完成大概是這樣:
5.3.3 設置燒錄器
選擇你的燒錄器,我這里是用的Jlink,如果用其他的燒錄器就選其他的,也可以選擇Openocd,但是這里不對Openocd做介紹,如有需要自行了解
展開來的選項里面CPU Name
:選擇你的單片機型號
設置完成就這樣:
5.3.4 項目屬性
Include Directories
:頭文件包含目錄,照着makefile中的C_INCLUDES
添加即可
Library Directorise
:庫目錄
Proprocessor Definitions
:預定義,也是跟着makefile來
完畢之后是這樣
5.3.5 項目設置
基本不需要動
到此為止,項目已經搭建完成
六、編譯和燒錄!
打開項目里面隨便一個文件,右上角的Build按鍵即編譯,然后一個向下的箭頭即燒錄
如果出錯了就根據報錯找找原因,也翻翻上面有沒有遺漏的步驟
七、調試
gdb是不能調試keil編譯的工程的,所以如果你eide插件調用的是keil進行的編譯那就沒法用下面這個方式調試
這里會需要vscode的另外一個插件——Cortex-Debug
這個插件支持不少的debug方式,主流的是用openocd,但是我自己是在用jlink,所以這里用的是JlinkGDBServer的調試方式。如果你是其他的link的話可以參考其他的文章,比如這個
7.1 設置gdb路徑
在vscode的設置中搜索arm toolchain path
然后應該能看到這一個選項
點擊Edit in settings.json
然后像這樣添加一行指定你的路徑即可
7.2 設置你的jlinkGDBserver路徑
在vscode的設置中搜索jlink,應該能看到這一個選項:
點擊Edit in settings.json
然后添加向我這樣的一樣就行
7.3. 設置launch.json
我們打開.vscode
文件夾,可以看到類似下面的配置:
下面介紹一下上面幾個參數的含義
cwd
:current working directorytype
:調試器類型,這里我們要調試單片機就必須得是cortex-debugname
:這個任務的名字,可以自己取servertype
:根據你用的進行選擇,這里我用的是jlink,如果是openocd的改成openocd即可interface
:你的調試接線方式executable
:二進制文件device
:你的設備svdFile
:system view description,這個可有可無,是用來在debug時看寄存器值的,想要有的話可以去st官網找,不過其他的單片機就可能不會公開svd文件了
上面大部分的內容都是插件自動幫你填好的,有缺的可以自己添添補補
7.4 正式開始調試!
按F5
就可以開始調試了,或者點開左邊欄的RunAndDebug欄然后開始也一樣
總的界面就大概像下面這樣
左邊可以看變量、寄存器值等,打斷點之類的也是一切正常
八、打包一個模板並根據模板來生成新工程
前面一通操作不得不說還是要點時間的,而eide十分貼心的做了一個打包模板的功能,我們可以直接打包一份模板,以后可以基於這個模板新建工程,就不會有這么多准備工作去做了!
8.1 生成模板
實際操作就是在左邊欄進入eide的界面,右擊你的項目,點擊export eide project template,他就會在根目錄下生成一個ept文件
8.2 根據模板創建工程
在eide創建工程的時候選擇Local Template,然后選擇你剛生成的那個ept文件即可
其他操作看着指示來就行