banner
yono

yono

哈喽~欢迎光临
follow
github

24_7_12_力薦插件!EIDE替代Keil

大致介紹#

EIDE 是一個 VSCode 插件,用來開發單片機專案,比如:是一个 VSCode 插件,用來開發單片機專案,比如:8051, stm8, stm32, other cortex-m mcus ... ...

推薦 EIDE 做 keil 工程的後續應用開發,開板子開外設還是在 keil 中完成,畢竟是官方的,放心。同時 stm32cubemx 生成 keil 工程也是非常方便的,初探索外設還是 keil 進行好一些。

image

為什麼選擇 EIDE 而不是 PlatformIO IDE?#

最重要的是 EIDE 可以無縫導入 keil 工程!使得原本穩定的專案不必再驗證,EIDE 支持 keil 唯一值錢的組件 ——AC6 編譯器。

其次 EIDE 是國人開發的插件,社區溝通無壓力,作者衝浪強度也很高、回帖非常及時,一些非插件的技術問題也可以試著騷擾作者。

以下為社區地址

Embedded IDE Forum (em-ide.com)

前期準備#

明確我們前期準備的目標,vscode+EIDE安裝完成,並使得 EIDE 插件可以檢測到 ARM-GCC 以及 AC6 的工具鏈存在。

安裝這塊本文就不手把手教學了

首要推薦是看官方文檔,至少將官方文檔中 "開始上手" 章節完整看完

安裝 | Embedded IDE For VSCode (em-ide.com)

其次有一篇社區博文也不錯,不過仍然最推薦跟著官方文檔進行環境配置

[VSCODE] 基於 EIDE 插件搭建 vscode 下的 STM32 單片機開發環境 - Foriver - 博客園 (cnblogs.com)

額外準備#

額外準備是為調試而做的,眾所周知,如果片上程序不能單步調試,那基本上是開發不了複雜程序的。

需要用到經典神器 Cortex-debug 插件。

再次引到官方社區的文檔。

cortex-debug 用法 - 博客 - Embedded IDE Forum (em-ide.com)

簡單來說,有如下兩點需要配置

  1. 配置好 ARM-GCC 工具鏈地址,在我的環境中地址為C:\\111_APPS\\arm-gnu-toolchain-13.2.Rel1-mingw-w64-i686-arm-none-eabi\\bin,其中有 arm-none-eabi-gcc.exe、arm-none-eabi-ld.exe 等等工具鏈程序。
  2. 配置好你所需的 GDB 應用地址,例如我使用 JLink 調試,那麼我需要配置好 JLink GDBServer Path ,在我的環境中地址為C:\111_APPS\SEGGER\JLink_V794f,其中有 JLinkGDBServer.exe 這個應用程序。如果你並非使用 JLink,或許需要借助 Openocd 調試,那麼需要配置好 Openocd Path

我所設置的是設置中的這兩項

image

image

開始使用#

對於初次使用 EIDE 插件的用戶來說,首先建議弄一個備份過的 KEIL 工程用作測試,且在 KEIL 中保證這個工程可以正常編譯、點亮板子。

依據官方文檔導入這個工程

導入項目 | Embedded IDE For VSCode (em-ide.com)

導入時會彈出提示 —— 將 vscode 工作區項目放在何處,對於初次使用,建議直接和原來的 keil 工程文件放一起好了,避免額外的操作。但是使用測試工程熟悉新開發環境後,還是需要將各個不同開發環境的項目進行分離。如果不同的環境配置分離的能力都不具備,基本已經走遠了。

image

開發環境的坑#

簡單但又不簡單的坑,與能否將開發環境開起來有關係,這裡僅涉及到 AC6 編譯器,gcc 編譯器還是太弱了

匯編編譯的大坑#

匯編器配置如下,這裡有大坑!

我們拿到的匯編代碼會使用不同的匯編格式編寫。

  • gnu 格式,其特徵:使用 /**///註釋語句,使用 .syntax.section.global 之類的標籤
  • arm 格式,其特徵:使用 ; 作為註釋開始,不使用 .xxx 開頭的標籤

那麼需要自動選擇匯編器類型,但是這裡如果將匯編器類型配置為 auto,那麼預處理器定義會不允許使用。就需要將匯編器選擇為”arm-clang",然後加上匯編附加選項 “-masm=auto",就可以自動選擇匯編器同時使用預定義了。

image

單步調試的配置#

眾所周知,絕大多數 MCU 工程師都是假裝軟件工程師的硬件工程師。這些配置對於 MCU 工程師還是太困難了,這也是 KEIL 直到現在仍然是主流 IDE 的原因。

首先觀察到調試頁,添加一個工作區的調試配置,因為我們工程和源碼分在不同的目錄,還是以工作區作為調試配置的準則比較好

image

他會在工作區 json 下自動生成少量代碼,通過補全手段或自己編寫成如下的樣子

其中需要重點配置的是

  • "cwd":current working directory 當前工作目錄,通常其他人將這裡配置為 ${workspaceRoot},由於我們的工作區不止一個文件夾,我們至少會有 EIDE 工程文件夾和 SRC 源碼文件夾兩個,所以這裡後面需要添加的後綴,引到 EIDE 工程文件夾作為基址
  • "executable":是生成的可執行文件,在 EIDE 工程的編譯輸出目錄去找
  • "name":調試任務的名字,後面會出現在調試頁面的下拉框以供選擇
  • "type":調試器類型,我們連接到芯片調試,填寫 cortex-debug,使用 cortex-debug 插件調試即可
  • "device":芯片的完整型號,需要調試器支持,我們通常使用 JLink 的調試器 exe 可執行文件,那麼也就是我們使用的 JLink 需要支持的名字,這裡與燒錄配置處的名字一樣就好了。(如果燒錄配置處配置錯,麻煩就大了,叫人就好)
  • "servertype":根據你用的進行選擇,這裡我用的是 jlink,如果是 openocd 的改成 openocd 即可
  • "interface":調試接線方式
  • "svdFile":system view description,對於應用工程師這可有可無,是用來在 debug 時看寄存器值的,想要有的話可以去 st 官網找,不過其他的單片機就可能不會公開 svd 文件了 (keil 的 pack 包可以提取到)
  • ”liveWatch“:查看變量實時值和計算式答案的選項,實際上是默認開啟的,可以不用配置

image

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。