嵌入式工程師常用的軟體工具推薦(全)

常言道:工欲善其事,必先利其器。作為一名合格的嵌入式工程師,日常可能需要接觸和處理各種奇奇怪怪的問題,這時候一款高適配性的工具將會令工作效率大大提升。
作者根據個人的實際使用情況與粉絲的客觀感受,為大家推薦幾款嵌入式開發常用的軟體,如下圖示:

Part1Visual Studio Code

VS Code 是一個由微軟開發且跨平臺的輕量級程式碼編輯器,全稱為 Visual Studio Code。它支援語法高亮、自動補全、重構、檢視定義等功能,並且內建了命令列工具和Git版本控制系統。使用者可以透過更改主題和鍵盤快捷方式實現個性化設定,也可以透過擴充套件程式商店安裝擴充套件來拓展軟體功能。
Visual Studio Code個人感覺最厲害的是其自主性,它可以結合很多差距亦或是編譯器進行各式各樣的嵌入式研發工作!比如:作者就經常用它進行 Linux 驅動、STM32、ESP8266/32(樂鑫有專門的外掛平臺)!其中,Visual Studio Code 的眾多外掛也是其一大特色!作者這裡給大家安利幾個外掛!
外掛 功能註釋
C/C++ 這個肯定是必須的
C/C++ Snippets C/C++重用程式碼塊
C/C++ Advanced Lint C/C++靜態檢測
Code Runner 程式碼執行
Include AutoComplete 自動標頭檔案包含
Rainbow Brackets 彩虹花括號,有助於閱讀程式碼
One Dark Pro VSCode 的主題
GBKtoUTF8 將 GBK 轉換為 UTF8
ARM 支援 ARM 彙編語法高亮顯示
Chinese(Simplified) 中文環境
vscode-icons VSCode 圖示外掛,主要是資源管理器下各個資料夾的圖示
compareit 比較外掛,可以用於比較兩個檔案的差異。
DeviceTree 裝置樹語法外掛
TabNine 一款 AI 自動補全外掛,強烈推薦,誰用誰知道!
注意:在 Ubuntu 中進行嵌入式開發,VSCode應該更是我們的第一選擇。

Part2Notepad–

Notepad– 是 Windows 環境下的一款免費開源的文字編輯器。它功能強大,支援語法高亮顯示、多重視窗同步編輯、多國語言和多種程式語言,並且可以載入豐富的外掛。Notepad– 還具有完整的中文介面和 UTF8 技術,適合編寫計算機程式程式碼和製作純文字說明檔案。
使用者可以透過安裝外掛來拓展 Notepad– 的功能,例如程式碼摺疊、程式碼提示、文件格式化和文件預覽等。此外,Notepad– 還支援自定義宏,可以幫助使用者快速執行重複任務或批次修改文字。
總之,Notepad–是一款功能豐富、易於使用且具有良好擴充套件性的文字編輯器,適用於編寫各種型別的文字和程式碼。

Part3Visual Studio

不同於 VSCodeVisual Studio 是一個 IDE,我們可以裝一個以備不時之需,比如驗證C程式或是進行C#程式開發等。一些與嵌入式相關的模擬器也是基於 Visual Studio,作者平時的CUDA程式碼亦或是科研工作上的C++程式碼都會使用 Visual Studio 進行驗證模擬工作!
除了標準功能外,Visual Studio 還提供了豐富的擴充套件和外掛,以滿足不同領域的需求。例如,使用者可以透過安裝 C++ 擴充套件來支援 C++ 程式設計,或者透過安裝 Entity Framework 擴充套件來支援資料訪問。

Part4Keil uVision

Keil uVision 是一個由 Keil 公司開發的整合開發環境(IDE),用於嵌入式系統的開發和除錯。Keil uVision 基於C語言和其他程式語言,支援各種微控制器和處理器,包括STM32AVRPIC等。
我相信廣大的嵌入式工程師沒有一個不認識上述介面吧,我們接觸最多的STM32 開發通常用的就是該 IDE 。當然,大家一直詬病的是 Keil uVision 的 UI 介面太醜了!MDK6 其實也即將面世,根據作者的瞭解貌似 ui 設計依舊沒有太大的改善,MDK6 貌似更像一個集合體!
Keil uVision 的主要功能包括程式碼編輯編譯除錯模擬等。其中,程式碼編輯器支援語法高亮、程式碼摺疊、自動補全等功能,可以幫助開發人員快速編寫程式碼。編譯功能可以將原始碼編譯成可執行檔案或庫,以便在目標裝置上執行。除錯功能可以幫助開發人員除錯和測試程式碼,包括單步執行、斷點設定、變數監視等功能。模擬功能可以模擬目標裝置的執行環境,以便測試程式碼的正確性和可靠性。

Part5STM32CubeMX

STM32CubeMX 是一個由 ST 意法半導體公司開發的圖形化工具,用於配置和初始化 STM32 微控制器,並生成 C 程式碼。它提供了一個直觀的視覺化介面,可以幫助開發人員快速配置和設定微控制器的各種外設、引腳和時鐘。
STM32CubeMX 可以直接生成 HAL 庫的 STM32 配置程式,極大地方便了個人開發者對於 STM32 系列開發板的使用。熟悉作者本人的應該知道,作者很多專案都是以 HAL 庫作為教學的。HAL 庫的學習好處是很多的,首先意法半導體已經停止對很多開發板的標準庫的維護。其次,FreeRTOS 等 RTOS 對 HAL 庫直接提供了介面 API 函式,方便開發移植!
HAL 庫是未來低程式碼量,高封裝的趨勢。但是,HAL 庫本身也存在很多缺點,程式碼效率低,程式碼冗餘等!

Part6VMWare Workstation

VMware Workstation 是一款功能強大的虛擬機器軟體,它可以在一臺計算機上模擬多個作業系統和應用程式的環境。
嵌入式工程往往需要進行交叉編譯的工作,即在 x86 的架構上編譯出 ARM 架構的程式碼。這種操作往往需要我們在 Linux 系統下進行!考慮到大家辦公需求,大部分工程師還是 window 作為日常作業系統的。所以,VMware Workstation 極大地方便了我們日常生活中的開發!當然,ROS 等使用也都是需要依賴 VMware Workstation 下的 Ubuntu 的

Part7QT Creator

Qt Creator 是一個跨平臺的整合開發環境(IDE),專門用於開發基於 Qt 框架的 C++ 應用程式。它是由 Qt Company 提供的免費開源工具,適用於 Windows、Linux 和 macOS 等作業系統。
QT 可以算是嵌入式工程師中比較龐大的分支,屬於嵌入式應用層的開發。與 QT 類似的ui開發平臺還有很多!但是,QT可以說是目前比較常見且成熟的!C++ 功底還行的讀者朋友可以往這方面發展發展,薪資待遇都是很不錯的!
當然,QT 也可以用來進行簡單的 C++ 入門學習模擬使用!

Part8MobaXterm

MobaXterm 是一款功能強大的遠端終端模擬器,適用於 Windows 和 Linux 作業系統。它提供了一個整合的遠端終端和 X 伺服器,可以連線各種型別的遠端主機,包括SSH、FTP、Telnet等。關鍵是它還是免費的。序列埠或者SSH等協議通訊時候,終端平臺是可以進行復制貼上的,這實在是泰酷辣!!!!所以MobaXterm 我願稱為最強序列埠除錯助手!!!
作者目前基本 Linux 系統的除錯,樹莓派4Bjeston nano等系列高階板子都是使用它作為終端控制和除錯的,體驗感真的是非常棒的!!!相比於收費的 SecureCRT ,它真的是寶藏軟體!

Part9Vofa+

VOFA+ 是一款直觀、靈活、強大的外掛驅動高自由度的上位機,在與電氣打交道的領域裡,如自動化、嵌入式、物聯網、機器人等,都能看到 VOFA+ 的身影。VOFA+ 的名字來源於:Volt/伏特、Ohm/歐姆、Fala/法拉、Ampere/安培,是電氣領域的基礎單位,與他們的發明者——4位電子物理學領域的科學巨人,分別同名。他們的首字母共同構成了 VOFA+ 的名字。
Vofa+ 簡單來說就是一款支援數字動圖化的上位機,可以用於直觀瞭解即時的資料變化。它也是免費的,同時豐富的外掛也將助力嵌入式工程師實際除錯需求!

Part10Arduino IDE

Arduino IDE 是一款為 Arduino 板提供支援的整合開發環境(IDE)。它是一個簡單易用的工具,可以幫助開發人員編寫、編輯、上傳和除錯基於Arduino的互動式電子產品。如今,Arduino IDE 已經完全適配 ESP8266/32 的開發需求,IDE 提供了豐富的使用案例與 arduino 的庫函式!
部分工程師可能認為 ESP 系列開發板屬於純玩具,亦或是頂多搞搞物聯網,其實非也!根據博主與 MIT 、NJUST 等眾多國內外高校同仁瞭解到:目前,很多高校都將傳統的 STM32 教學改為了 ESP32 教學!同時,樂鑫公司在輕量化邊緣計算方面甚至優秀!!!時代在奔流不息,相信樂鑫的ESP32系列以後大放異彩!

Part11Logic

Logic 是一種數字邏輯電路的建模和分析工具,它可以幫助使用者設計和驗證各種數位電路,包括組合邏輯電路、時序邏輯電路和狀態機等。
邏輯分析儀是嵌入式工程非常常見的檢測工具,邏輯分析儀有很多。但是,Logic 這款顏值和功能都非常耐打!!!奈何價格太貴,不過幸好存在神秘的東方力量!!!

Part12uniapp

uniapp 是一個基於 Vue.js 開發跨平臺前端應用的框架,允許開發者使用一套程式碼,釋出到iOS、Android、Web(響應式)等多個平臺。它支援各種小程式、快應用等多個平臺,使開發者能夠更靈活地應對不同的應用場景。
uniapp的優勢在於:擁有自己的社群,元件豐富,開發難度低。使得非專職 APP 開發人員可以快速上手開發屬於自己的 APP 使用!

Part13Beyond Compare

Beyond Compare 是一個綜合的比較工具,可以用於比較文字、資料夾、檔案等,幫助使用者快速、準確地找到差異和相似之處。它支援多種比較方式,包括文字比較、資料夾比較、檔案比較等,可以用於管理原始檔、保持資料夾同步、比對程式的輸出結果、以及檢查所燒入光碟備份的精確度。
Linux 驅動工程師在學習新的開發板驅動時候,往往就需要使用 Beyond Compare 進行老舊驅動程式碼的對比。這樣,可以快速發現改動了哪些地方,而這些地方則是日後開發需要重點關注的!

Part14Git

Git 是一個分散式版本控制系統,用於跟蹤和管理專案的變更。它是由 Linus Torvalds 於2005年發起並開發的,現在已成為開源專案並被廣泛使用。使用 Git,開發者可以在本地儲存專案的版本歷史記錄,並將其與遠端倉庫進行同步,以便與其他團隊成員共享和協作。它還提供了許多命令和工具,如 **git initgit addgit commitgit push**和 **git pull**等,使得開發者可以輕鬆地管理他們的程式碼庫。
總之,Git是一個強大的工具,可以幫助開發者更有效地管理和協作,同時提供了更好的靈活性和可擴充套件性。

Part15Tracealyzer

Tracealyzer 是一個用於即時跟蹤和分析嵌入式系統的工具。它是由 MathWorks 公司開發的,旨在幫助開發人員更好地瞭解和最佳化他們的嵌入式系統性能。Tracealyzer 透過即時跟蹤系統執行時的行為和事件,提供了對嵌入式系統的深入分析。它可以幫助開發人員識別效能瓶頸、除錯問題和最佳化系統性能。
Tracealyzer的主要特點包括:
  1. 即時跟蹤:Tracealyzer可以即時跟蹤系統的執行時行為,包括任務執行、中斷、定時器和事件等。
  2. 效能分析:Tracealyzer可以分析系統的效能指標,如響應時間、延遲和吞吐量等。它可以幫助開發人員識別效能瓶頸和最佳化機會。
  3. 除錯和故障排除:Tracealyzer可以捕獲系統中的錯誤和異常,並提供詳細的資訊和堆疊跟蹤,幫助開發人員除錯和解決故障。
  4. 視覺化報告:Tracealyzer生成詳細的視覺化報告,包括任務和事件的時間線、效能指標圖表和堆疊跟蹤等。這些報告可以幫助開發人員更好地理解系統行為並制定最佳化策略。
  5. 跨平臺支援:Tracealyzer支援多種嵌入式平臺,包括基於Windows、Linux和即時作業系統的嵌入式裝置。

Part16 PyCharm

PyCharm 是一種整合開發環境(IDE),專門用於開發 Python 應用程式。它是一個功能強大的工具,提供了許多功能和特性,以幫助開發者提高效率和建立高質量的 Python 程式碼。
如今大火的人工智慧 AI 技術,譬如:目標檢測,自然語言識別等大都需要進行 Python 神經網路的訓練。這往往需要藉助 Python 的 IDE ,PyCharm 是如今非常主流的人工智慧開發平臺!嵌入式 AI 工程師往往需要在 PyCharm 進行網路模型的訓練,之後再進行部署 AI 板子!

Part17Matlab

Matlab 是一種用於數學計算和工程應用的程式語言和互動式環境。它由 MathWorks 公司開發,是一種廣泛使用的科學計算語言和工具,用於各種領域,如科學、工程、金融等。可能大部分工程師認為 Matlab 是科研工具,只能模擬模擬!其實,我們可以透過 matlab 的 .m 語言程式轉成 C 語言從而在 MCU 中執行一些高階控制演算法!
包括影像的濾波演算法,也可以在 Matlab 中做預演,之後再編寫對應的 C 語言進行移植實現!
文章已獲作者授權轉載,版權歸原作者所有,如有侵權,與本賬號無關,可聯絡刪除。https://sneak.blog.csdn.net/article/details/131803087


相關文章