前言:常言道:工欲善其事,必先利其器。作為一名合格的嵌入式工程師,日??赡苄枰佑|和處理各種奇奇怪怪的問題,這時候一款高適配性的工具將會令工作效率大大提升。作者根據(jù)個人的實(shí)際使用情況與粉絲的客觀感受,為大家推薦幾款嵌入式開發(fā)常用的軟件。希望本篇博客可以讓大家學(xué)會使用一些新的工具,當(dāng)然如果讀者朋友有其他的好軟件推薦也可以在評論區(qū)留言!
推薦軟件圖:
考慮到作者實(shí)際目前偏嵌入式軟件工程,所以本篇博客僅推薦嵌入式軟件工程師的好工具!
一、Visual Studio Code
VS Code 是一個由微軟開發(fā)且跨平臺的輕量級代碼編輯器,全稱為 Visual Studio Code。它支持語法高亮、自動補(bǔ)全、重構(gòu)、查看定義等功能,并且內(nèi)置了命令行工具和Git版本控制系統(tǒng)。用戶可以通過更改主題和鍵盤快捷方式實(shí)現(xiàn)個性化設(shè)置,也可以通過擴(kuò)展程序商店安裝擴(kuò)展來拓展軟件功能。
Visual Studio Code 個人感覺最厲害的是其自主性,它可以結(jié)合很多差距亦或是編譯器進(jìn)行各式各樣的嵌入式研發(fā)工作!比如:作者就經(jīng)常用它進(jìn)行 Linux 驅(qū)動、STM32、ESP8266/32(樂鑫有專門的插件平臺)!其中,
Visual Studio Code 的眾多插件也是其一大特色!作者這里給大家安利幾個插件!
1)、C/C++,這個肯定是必須的。
2)、C/C++ Snippets,即 C/C++重用代碼塊。
3)、C/C++ Advanced Lint,即 C/C++靜態(tài)檢測 。
4)、Code Runner,即代碼運(yùn)行。
5)、Include AutoComplete,即自動頭文件包含。
6)、Rainbow Brackets,彩虹花括號,有助于閱讀代碼。
7)、One Dark Pro,VSCode 的主題。
8)、GBKtoUTF8,將 GBK 轉(zhuǎn)換為 UTF8。
9)、ARM,即支持 ARM 匯編語法高亮顯示。
10)、Chinese(Simplified),即中文環(huán)境。
11)、vscode-icons,VSCode 圖標(biāo)插件,主要是資源管理器下各個文件夾的圖標(biāo)。
12)、compareit,比較插件,可以用于比較兩個文件的差異。
13)、DeviceTree,設(shè)備樹語法插件。
14)、TabNine,一款 AI 自動補(bǔ)全插件,強(qiáng)烈推薦,誰用誰知道!
在 Ubuntu 中進(jìn)行嵌入式開發(fā),VSCode應(yīng)該更是我們的第一選擇。
二、Notepad++
Notepad++ 是 Windows 環(huán)境下的一款免費(fèi)開源的文本編輯器。它功能強(qiáng)大,支持語法高亮顯示、多重窗口同步編輯、多國語言和多種編程語言,并且可以加載豐富的插件。Notepad++ 還具有完整的中文接口和 UTF8 技術(shù),適合編寫計算機(jī)程序代碼和制作純文字說明文件。
下載地址:Download Notepad++ - free - latest version (softonic.com)
用戶可以通過安裝插件來拓展 Notepad++ 的功能,例如代碼折疊、代碼提示、文檔格式化和文檔預(yù)覽等。此外,Notepad++ 還支持自定義宏,可以幫助用戶快速執(zhí)行重復(fù)任務(wù)或批量修改文本。
總之,Notepad++ 是一款功能豐富、易于使用且具有良好擴(kuò)展性的文本編輯器,適用于編寫各種類型的文本和代碼。
三、Visual Studio
不同于 VSCode,Visual Studio 是一個 IDE,我們可以裝一個以備不時之需,比如驗(yàn)證C程序或是進(jìn)行C#程序開發(fā)等。一些與嵌入式相關(guān)的模擬器也是基于 Visual Studio,作者平時的CUDA代碼亦或是科研工作上的C++代碼都會使用?Visual Studio 進(jìn)行驗(yàn)證模擬工作!
除了標(biāo)準(zhǔn)功能外,Visual Studio 還提供了豐富的擴(kuò)展和插件,以滿足不同領(lǐng)域的需求。例如,用戶可以通過安裝 C++ 擴(kuò)展來支持 C++ 編程,或者通過安裝 Entity Framework 擴(kuò)展來支持?jǐn)?shù)據(jù)訪問。
四、Keil uVision
Keil uVision 是一個由 Keil 公司開發(fā)的集成開發(fā)環(huán)境(IDE),用于嵌入式系統(tǒng)的開發(fā)和調(diào)試。Keil uVision 基于C語言和其他編程語言,支持各種微控制器和處理器,包括STM32、AVR、PIC等。
我相信廣大的嵌入式工程師沒有一個不認(rèn)識上述界面吧,我們接觸最多的 STM32 開發(fā)通常用得就是該 IDE 。當(dāng)然,大家一直詬病的是?Keil uVision 的 UI 界面太丑了!MDK6 其實(shí)也即將面世,根據(jù)作者的了解貌似 ui 設(shè)計依舊沒有太大的改善,MDK6 貌似更像一個集合體!
Keil uVision 的主要功能包括代碼編輯、編譯、調(diào)試和仿真等。其中,代碼編輯器支持語法高亮、代碼折疊、自動補(bǔ)全等功能,可以幫助開發(fā)人員快速編寫代碼。編譯功能可以將源代碼編譯成可執(zhí)行文件或庫,以便在目標(biāo)設(shè)備上運(yùn)行。調(diào)試功能可以幫助開發(fā)人員調(diào)試和測試代碼,包括單步執(zhí)行、斷點(diǎn)設(shè)置、變量監(jiān)視等功能。仿真功能可以模擬目標(biāo)設(shè)備的運(yùn)行環(huán)境,以便測試代碼的正確性和可靠性。
五、STM32CubeMX
STM32CubeMX 是一個由 ST 意法半導(dǎo)體公司開發(fā)的圖形化工具,用于配置和初始化 STM32 微控制器,并生成 C 代碼。它提供了一個直觀的可視化界面,可以幫助開發(fā)人員快速配置和設(shè)置微控制器的各種外設(shè)、引腳和時鐘。
STM32CubeMX 可以直接生成 HAL 庫的 STM32 配置程序,極大地方便了個人開發(fā)者對于 STM32 系列開發(fā)板的使用。熟悉作者本人的應(yīng)該知道,作者很多項(xiàng)目都是以 HAL 庫作為教學(xué)的。HAL 庫的學(xué)習(xí)好處是很多的,首先意法半導(dǎo)體已經(jīng)停止對很多開發(fā)板的標(biāo)準(zhǔn)庫的維護(hù)。其次,F(xiàn)reeRTOS 等 RTOS 對 HAL 庫直接提供了接口 API 函數(shù),方便開發(fā)移植!
作者有話:
HAL 庫是未來低代碼量,高封裝的趨勢。但是,HAL 庫本身也存在很多缺點(diǎn),代碼效率低,代碼冗余等!而且,CubeMX 主要是針對
六、VMWare?Workstation
VMware Workstation 是一款功能強(qiáng)大的虛擬機(jī)軟件,它可以在一臺計算機(jī)上模擬多個操作系統(tǒng)和應(yīng)用程序的環(huán)境。
嵌入式工程往往需要進(jìn)行交叉編譯的工作,即在 x86 的架構(gòu)上編譯出 ARM 架構(gòu)的代碼。這種操作往往需要我們在 Linux 系統(tǒng)下進(jìn)行!考慮到大家辦公需求,大部分工程師還是 window 作為日常操作系統(tǒng)的。所以,VMware Workstation 極大的方便了我們?nèi)粘I钪械拈_發(fā)!當(dāng)然,ROS 等使用也都是需要依賴?VMware Workstation 下的 Ubuntu 的。
七、QT?Creator
Qt Creator 是一個跨平臺的集成開發(fā)環(huán)境(IDE),專門用于開發(fā)基于 Qt 框架的 C++ 應(yīng)用程序。它是由 Qt Company 提供的免費(fèi)開源工具,適用于 Windows、Linux 和 macOS 等操作系統(tǒng)。
QT 可以算是嵌入式工程師中比較龐大的分支,屬于嵌入式應(yīng)用層的開發(fā)。與 QT 類似的 ui 開發(fā)平臺還有很多!但是,QT可以說是目前比較常見且成熟的!C++ 功底還行的讀者朋友可以往這方面發(fā)展發(fā)展,薪資待遇都是很不錯的!
當(dāng)然,QT 也可以用來進(jìn)行簡單的 C++ 入門學(xué)習(xí)仿真使用!?
八、MobaXterm
MobaXterm 我愿稱為最強(qiáng)串口調(diào)試助手!?。?/p>
MobaXterm 是一款功能強(qiáng)大的遠(yuǎn)程終端模擬器,適用于 Windows 和 Linux 操作系統(tǒng)。它提供了一個集成的遠(yuǎn)程終端和 X 服務(wù)器,可以連接各種類型的遠(yuǎn)程主機(jī),包括SSH、FTP、Telnet等。關(guān)鍵是它還是免費(fèi)的。串口或者SSH等協(xié)議通信時候,終端平臺是可以進(jìn)行復(fù)制粘貼的,這實(shí)在是泰酷辣?。。。?/p>
作者目前基本 Linux 系統(tǒng)的調(diào)試,樹莓派4B,jeston nano等系列高級板子都是使用它作為終端控制和調(diào)試的,體驗(yàn)感真的是非常棒的?。?!相比于收費(fèi)的 SecureCRT ,它真的是寶藏軟件!
九、Vofa+
VOFA+ 是一款直觀、靈活、強(qiáng)大的插件驅(qū)動高自由度的上位機(jī),在與電氣打交道的領(lǐng)域里,如自動化、嵌入式、物聯(lián)網(wǎng)、機(jī)器人等,都能看到 VOFA+ 的身影。VOFA+ 的名字來源于:Volt/伏特、Ohm/歐姆、Fala/法拉、Ampere/安培,是電氣領(lǐng)域的基礎(chǔ)單位,與他們的發(fā)明者——4位電子物理學(xué)領(lǐng)域的科學(xué)巨人,分別同名。他們的首字母共同構(gòu)成了 VOFA+ 的名字。
Vofa+ 簡單來說就是一款支持?jǐn)?shù)字動圖化的上位機(jī),可以用于直觀了解實(shí)時的數(shù)據(jù)變化。它也是免費(fèi)的,同時豐富的插件也將助力嵌入式工程師實(shí)際調(diào)試需求!
VOFA+推薦學(xué)習(xí)博客:http://t.csdn.cn/Qyma8
十、Arduino IDE
Arduino IDE 是一款為 Arduino 板提供支持的集成開發(fā)環(huán)境(IDE)。它是一個簡單易用的工具,可以幫助開發(fā)人員編寫、編輯、上傳和調(diào)試基于Arduino的交互式電子產(chǎn)品。如今,Arduino IDE 已經(jīng)完全適配 ESP8266/32 的開發(fā)需求,IDE 提供了豐富的使用案例與 arduino 的庫函數(shù)!
部分工程師可能認(rèn)為 ESP 系列開發(fā)板屬于純玩具,亦或是頂多搞搞物聯(lián)網(wǎng),其實(shí)非也!根據(jù)博主與 MIT 、NJUST 等眾多國內(nèi)外高校同仁了解到:目前,很多高校都將傳統(tǒng)的 STM32 教學(xué)改為了 ESP32 教學(xué)!同時,樂鑫公司在輕量化邊緣計算方面甚至優(yōu)秀?。?!時代在奔流不息,相信樂鑫的ESP32系列以后大放異彩!
十一、Logic
Logic 是一種數(shù)字邏輯電路的建模和分析工具,它可以幫助用戶設(shè)計和驗(yàn)證各種數(shù)字電路,包括組合邏輯電路、時序邏輯電路和狀態(tài)機(jī)等。
邏輯分析儀是嵌入式工程非常常見的檢測工具,邏輯分析儀有很多。但是,Logic 這款顏值和功能都非常耐打?。?!奈何價格太貴,不過幸好存在神秘的東方力量?。?!
十二、uniapp
uniapp 是一個基于 Vue.js 開發(fā)跨平臺前端應(yīng)用的框架,允許開發(fā)者使用一套代碼,發(fā)布到iOS、Android、Web(響應(yīng)式)等多個平臺。它支持各種小程序、快應(yīng)用等多個平臺,使開發(fā)者能夠更靈活地應(yīng)對不同的應(yīng)用場景。
uniapp的優(yōu)勢在于:擁有自己的社區(qū),組件豐富,開發(fā)難度低。使得非專職 APP 開發(fā)人員可以快速上手開發(fā)屬于自己的 APP 使用!
uniapp官網(wǎng):uni-app快速上手 | uni-app官網(wǎng) (dcloud.net.cn)
十三、Beyond Compare
Beyond Compare 是一個綜合的比較工具,可以用于比較文本、文件夾、文件等,幫助用戶快速、準(zhǔn)確地找到差異和相似之處。它支持多種比較方式,包括文本比較、文件夾比較、文件比較等,可以用于管理原始檔、保持資料夾同步、比對程式的輸出結(jié)果、以及檢查所燒入光碟備份的精確度。
Linux 驅(qū)動工程師在學(xué)習(xí)新的開發(fā)板驅(qū)動時候,往往就需要使用?Beyond Compare 進(jìn)行老舊驅(qū)動代碼的對比。這樣,可以快速發(fā)現(xiàn)改動了那些地方,而這些地方則是日后開發(fā)需要重點(diǎn)關(guān)注的!
Beyond Compare 官網(wǎng):下載 | Beyond Compare 中文官方網(wǎng)站 (beyondcomparepro.com)
十四、Git
Git 是一個分布式版本控制系統(tǒng),用于跟蹤和管理項(xiàng)目的變更。它是由 Linus Torvalds 于2005年發(fā)起并開發(fā)的,現(xiàn)在已成為開源項(xiàng)目并被廣泛使用。使用 Git,開發(fā)者可以在本地存儲項(xiàng)目的版本歷史記錄,并將其與遠(yuǎn)程倉庫進(jìn)行同步,以便與其他團(tuán)隊(duì)成員共享和協(xié)作。它還提供了許多命令和工具,如?git init
、git add
、git commit
、git push
和?git pull
等,使得開發(fā)者可以輕松地管理他們的代碼庫。
總之,Git是一個強(qiáng)大的工具,可以幫助開發(fā)者更有效地管理和協(xié)作,同時提供了更好的靈活性和可擴(kuò)展性。?
十五、Tracealyzer
Tracealyzer 是一個用于實(shí)時跟蹤和分析嵌入式系統(tǒng)的工具。它是由 MathWorks 公司開發(fā)的,旨在幫助開發(fā)人員更好地了解和優(yōu)化他們的嵌入式系統(tǒng)性能。Tracealyzer 通過實(shí)時跟蹤系統(tǒng)的運(yùn)行時行為和事件,提供了對嵌入式系統(tǒng)的深入分析。它可以幫助開發(fā)人員識別性能瓶頸、調(diào)試問題和優(yōu)化系統(tǒng)性能。
Tracealyzer的主要特點(diǎn)包括:
- 實(shí)時跟蹤:Tracealyzer可以實(shí)時跟蹤系統(tǒng)的運(yùn)行時行為,包括任務(wù)執(zhí)行、中斷、定時器和事件等。
- 性能分析:Tracealyzer可以分析系統(tǒng)的性能指標(biāo),如響應(yīng)時間、延遲和吞吐量等。它可以幫助開發(fā)人員識別性能瓶頸和優(yōu)化機(jī)會。
- 調(diào)試和故障排除:Tracealyzer可以捕獲系統(tǒng)中的錯誤和異常,并提供詳細(xì)的信息和堆棧跟蹤,幫助開發(fā)人員調(diào)試和解決故障。
- 可視化報告:Tracealyzer生成詳細(xì)的可視化報告,包括任務(wù)和事件的時間線、性能指標(biāo)圖表和堆棧跟蹤等。這些報告可以幫助開發(fā)人員更好地理解系統(tǒng)行為并制定優(yōu)化策略。
- 跨平臺支持:Tracealyzer支持多種嵌入式平臺,包括基于Windows、Linux和實(shí)時操作系統(tǒng)的嵌入式設(shè)備。
十六、PyCharm
PyCharm 是一種集成開發(fā)環(huán)境(IDE),專門用于開發(fā) Python 應(yīng)用程序。它是一個功能強(qiáng)大的工具,提供了許多功能和特性,以幫助開發(fā)者提高效率和創(chuàng)建高質(zhì)量的 Python 代碼。
如今大火的人工智能 AI 技術(shù),譬如:目標(biāo)檢測,自然語言識別等大都需要進(jìn)行 Python 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。這往往需要借助 Python 的 IDE ,PyCharm 是如今非常主流的人工智能開發(fā)平臺!嵌入式 AI 工程師往往需要在 PyCharm 進(jìn)行網(wǎng)絡(luò)模型的訓(xùn)練,之后再進(jìn)行部署 AI 板子!
十七、Matlab
Matlab 是一種用于數(shù)學(xué)計算和工程應(yīng)用的編程語言和交互式環(huán)境。它由 MathWorks 公司開發(fā),是一種廣泛使用的科學(xué)計算語言和工具,用于各種領(lǐng)域,如科學(xué)、工程、金融等??赡艽蟛糠止こ處熣J(rèn)為?Matlab 是科研工具,只能仿真模擬!其實(shí),我們可以通過 matlab 的 .m 語言程序轉(zhuǎn)成 C 語言從而在 MCU 中運(yùn)行一些高級控制算法!
包括圖像的濾波算法,也可以在 Matlab 中做預(yù)演,之后再編寫對應(yīng)的 C 語言進(jìn)行移植實(shí)現(xiàn)!文章來源:http://www.zghlxwxcb.cn/news/detail-595575.html
Matlab 官網(wǎng):MATLAB - 技術(shù)計算語言 產(chǎn)品信息 (mathworks.cn)文章來源地址http://www.zghlxwxcb.cn/news/detail-595575.html
到了這里,關(guān)于嵌入式工程師常用的軟件工具推薦的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!