Skip to main content

嵌入式開發環境建置

選擇開發語言

開發語言特點優缺點
C/C++嵌入式系統開發的主流語言優點: 效能高 缺點: 開發速度慢,需要較深入的硬體知識
Python開發速度快優點: 易於上手 缺點: 效能較差,不適合嵌入式系統
Arduino C++基於C/C++的開發環境優點: 適合初學者入門 缺點: 功能有限
Rust新興的系統語言優點: 效能高,安全性好 缺點: 學習曲線陡峭

本來想要選擇Rust, 但是因為原生是用C/C++, 怕有些功能無法透過Rust實現 ex: 深度睡眠, 所以選擇C/C++.

選擇開發平台

以下是主流嵌入式開發平台的比較表:

開發平台語言支援特點優點缺點
Arduino IDEC/C++ (Arduino)簡單易用,專為Arduino開發設計適合初學者,安裝簡單,社群資源豐富功能有限,不適合大型專案
VSCode + PlatformIOC/C++, Python跨平台,支持多個嵌入式框架 (如ESP32、STM32)擴展性強,插件豐富,自動補全功能佳初始設定較為複雜
Keil uVisionC/C++專業的ARM處理器開發工具強大的除錯功能,支持CMSIS價格昂貴,對Windows依賴高
IAR Embedded WorkbenchC/C++用於高效能微控制器的開發高效能編譯器,優化能力強授權費用高,學習成本高
Eclipse IDE + STM32CubeMXC/C++開放源碼,支持多平台對STM32開發友好,插件靈活介面較為複雜,啟動速度慢
Mbed StudioC/C++針對ARM Mbed開發框架雲端整合,社群資源豐富嵌入式硬體支援不如其他平台廣泛
CLion + PlatformIOC/C++, Python強大的IDE,專注於多語言開發智能代碼補全、重構工具豐富需要訂閱JetBrains授權

只用過VSCODE, 有空再來試試Arduino IDE.

VSCODE 開發ESP32 流程步驟

官網的教學不是用VSCODE, 所以自己看了youtube 參考其他人做法, 但中間還是卡關了

pre request:

  1. 安裝VSCODE

  2. ESP32C3 開發板

  3. 線材 (USB to micro USB)

  4. 安裝VSCODE

  5. 安裝ESP32 相關需要的驅動程式 (siliconlabs)[https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads] (WCHSoftGroup/ch34xser_macos)[https://github.com/WCHSoftGroup/ch34xser_macos]

  6. 安裝ESP-IDF (Espressif IoT Development Framework) picture 0

  7. Ctrl + Shift + P -> ESP-IDF: Configure ESP-IDF Extension -> Express -> 安裝ESP-IDF版本 並選擇python路徑

  8. 連接ESP32C3 開發板

  9. 設定com port, 點擊後會顯示有哪些可以連接 picture 1
    picture 2

  10. 打開hello world 範例: Ctrl + Shift + P -> ESP-IDF: Show Example Projects -> hello_world

  11. 設定處理器的類型: 在UI 左下角點擊 處理器ICON -> ESP32C3 (參考的 youtube 因為使用chip 是ESP32 且錯誤訊息不夠明顯, 這段卡了半天) select core chip

  12. 點擊圓柱ICON -> Build -> 等待程式編譯完成 build program

  13. 點擊箭頭ICON -> 將程式燒錄到開發板 picture 5

  14. 點擊電腦螢幕Icon -> 打開串口監視器 顯示程式執行結果(ESP-IDF VSCODE 套件:1.81 版點擊ICON 有bug, 可退回1.71 版) picture 71

  15. 如要重新燒錄須先關閉串口監視器, 再重新燒錄 Ctrl + ] , windows 可能會遇到全形半形問題, 要注意, 如果遇到了去設定語言選項, 點擊輸入法, 選設定, 把全形半形關掉

  16. 留個圖紀念一下 picture 10

參考資料

  1. ESP32 開發環境建置
  2. Installation and Use of the Visual Studio Code ESP-IDF Extension