有哪些工具可以讓嵌入式開發(fā)事半功倍?詳細(xì)盤點(diǎn)工程師必備工具
嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進(jìn)行開發(fā),一般常用的系統(tǒng)有μcos,vxworks,linux,android等。當(dāng)然,對(duì)于嵌入式或單片機(jī)工程師的利器就是C語言、C++或匯編語言。那么有哪些好工具可以讓工作事半功倍呢?
據(jù)著名單片機(jī)工程師魚鷹Osprey介紹,首先我學(xué)習(xí)的是Qt,而要學(xué)習(xí)Qt就必須學(xué)C++,而學(xué)了Qt之后發(fā)現(xiàn)新公司采用linux開發(fā)單片機(jī),涉及到Makefile,還用了GitLab管理代碼,所以又簡單學(xué)習(xí)了GitLab的操作,然后發(fā)現(xiàn)代碼管理還要使用Git,所以花了幾天時(shí)間學(xué)習(xí)Git的使用……
很多單片機(jī)開發(fā)的道友都是手握KEIL行走天下的,事實(shí)上在跳槽之前我就是如此,一個(gè)KEIL搞定一切,編輯、編譯、下載、調(diào)試,全靠KEIL軟件,也是我研究KEIL這么深的原因,因?yàn)橹挥心闶煜ち斯ぞ?,才能做到事半功倍?/span>
接下來就給大家介紹幾款嵌入式開發(fā)工具。下面這些工具,我認(rèn)為你都應(yīng)該花點(diǎn)時(shí)間學(xué)習(xí)一下,這是非常有用的工具,非常方便。
1、Source Insight
Source Insight是一個(gè)程序編輯器和代碼瀏覽器,代碼編輯器的經(jīng)典之作。
Source Insight是一個(gè)面向項(xiàng)目開發(fā)的程序編輯器和代碼瀏覽器,它擁有內(nèi)置的對(duì)C/C++, C#和Java等程序的分析。
Source Insight能分析你的源代碼并在你工作的同時(shí)動(dòng)態(tài)維護(hù)它自己的符號(hào)數(shù)據(jù)庫,并自動(dòng)為你顯示有用的上下文信息。
Source Insight不僅僅是一個(gè)強(qiáng)大的程序編輯器,它還能顯示reference trees,class inheritance diagrams和call trees。Source Insight提供了最快速的對(duì)源代碼的導(dǎo)航和任何程序編輯器的源信息。Source Insight提供了快速和革新的訪問源代碼和源信息的能力。與眾多其它編輯器產(chǎn)品不同,Source Insight能在你編輯的同時(shí)分析你的源代碼,為你提供實(shí)用的信息并立即進(jìn)行分析。
魚鷹對(duì)這個(gè)工具的評(píng)價(jià)是:我們知道KEIL查看函數(shù)或者符合定義時(shí),要么右鍵查找定義,要么熟練的使用快捷鍵 F12 進(jìn)行跳轉(zhuǎn),但無一例外的就是都需要額外的操作,但SourceInsight只要你把光標(biāo)指向函數(shù)名,就會(huì)自動(dòng)有一個(gè)小窗口顯示函數(shù)體,看似只比KEIL少了一步,也只是多了一個(gè)窗口而已,但就是這點(diǎn)區(qū)別,就足以讓魚鷹安裝了(事實(shí)上它也可以在設(shè)置后編譯源碼的,這個(gè)暫時(shí)沒去研究過,不多說)。在看別人代碼的時(shí)候,跳來跳去的正常不過了,而KEIL每次跳轉(zhuǎn)都會(huì)跳轉(zhuǎn)到新窗口,想回來,只能再切換窗口,如果跳轉(zhuǎn)次數(shù)不多的話,那沒什么,但是查看不熟悉的代碼,你認(rèn)為你不需要頻繁跳轉(zhuǎn)嗎?所以魚鷹認(rèn)為,這個(gè)神器必須安裝,特別是查看linux內(nèi)核這種大型源碼時(shí),更是如此。而且它安裝包也很小,不用太關(guān)心內(nèi)存問題,你,值得擁有。
2、UltraEdit
UltraEdit 是一套功能強(qiáng)大的文本編輯器,可以編輯文本、十六進(jìn)制、ASCII 碼,完全可以取代記事本(如果電腦配置足夠強(qiáng)大),內(nèi)建英文單字檢查、C++ 及 VB 指令突顯,可同時(shí)編輯多個(gè)文件,而且即使開啟很大的文件速度也不會(huì)慢。
UltraEdit 是 Windows 旗下一款流行的老牌文本/HEX 編輯器(非開源)。UltraEdit 正被移植到 Linux 平臺(tái)。該移植名為 UEX,意即 UltraEdit forLinux。UEX具有原生的 Linux 外觀,其界面、配置、熱鍵等與 Windows 版并無二致。UltraEdit是一個(gè)49.95美元的共享軟件,提供了友好界面的編程編輯器,支持語法高亮,代碼折疊和宏,以及一大堆其他的功能,內(nèi)置了對(duì)于HTML、PHP和JavaScript等語法的支持。UltraEdit代碼折疊支持在所有 32 位Windows平臺(tái)上進(jìn)行 64 位文件處理(標(biāo)準(zhǔn)),Unicode 支持基于磁盤的文本編輯和大文件處理 - 支持超過 4GB 的文件,即使是數(shù)兆字節(jié)的文件也只占用極少的內(nèi)存。
3、Git
Git(讀音為/g?t/。)是一個(gè)開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項(xiàng)目版本管理。
Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個(gè)開放源碼的版本控制軟件。
Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒有之一)。
Git有什么特點(diǎn)?簡單來說就是:高端大氣上檔次!
魚鷹對(duì)這個(gè)工具的評(píng)價(jià)是這樣的:這個(gè)工具用于軟件版本控制的,事實(shí)上魚鷹在前五年開發(fā)使用的版本工具就是復(fù)制、粘貼,你沒有看錯(cuò),魚鷹工作的那一年也是采用這種方式進(jìn)行版本控制的。我相信公眾號(hào)的很多道友現(xiàn)在還都是采用這種方式吧。這種方式確實(shí)簡單,不用學(xué)習(xí)什么命令,也不用知道怎么使用工具,因?yàn)閺?fù)制、粘貼、重命名誰不會(huì)啊,學(xué)習(xí)成本很低。
但是當(dāng)你不停的更新、不停的修改代碼的時(shí)候,你就會(huì)發(fā)現(xiàn),這個(gè)復(fù)制粘貼的方式效率很低,也很難把控:你會(huì)發(fā)現(xiàn)你的文件夾變得越來越多,也越來越不知道每一個(gè)文件和其他文件有什么不同了,時(shí)間久了,你根本不知道改動(dòng)到底在哪。
但是Git不一樣,你能看到文件只有當(dāng)前使用的一份,歷史改動(dòng)全部被Git給隱藏了,所以你會(huì)看到你的源碼文件明明只有幾K,但你回到上級(jí)目錄查看這個(gè)文件屬性時(shí),你會(huì)發(fā)現(xiàn)可能有幾百M(fèi)內(nèi)容,那么多出來的文件是什么?就是你以前的歷史文件了,都隱藏在.git文件夾中。
而你要查看這些歷史只要幾條命令就行,也很容易就能回到你需要的版本中,就如乘坐時(shí)光機(jī),輕松來往于過去與未來。
還有它可以很方便的查看版本的差異,讓你再也不用使用專門的工具查看各個(gè)文件的不同了。
而且Git是采用本地管理的,不需要網(wǎng)絡(luò),非常方便。
學(xué)習(xí)Git基本使用方法只需要花個(gè)一兩天時(shí)間學(xué)習(xí)就夠了,但是卻能免除你今后開發(fā)生涯的復(fù)制、粘貼操作了,魚鷹覺得這是非常值得做的一件事。
Git教程:https://www.liaoxuefeng.com/wiki/896043488029600
據(jù)某工程師分享,git版本管理的客戶端自己使用比較多的是msysGit。msysGit提供gui與bash兩種視圖:
4、TortoiseSVN
ortoiseSVN 是 Subversion 版本控制系統(tǒng)的一個(gè)免費(fèi)開源客戶端,可以超越時(shí)間的管理文件和目錄。
開源的可視化的集中式代碼版本管理。相關(guān)于git的優(yōu)點(diǎn)是(1)提交號(hào)是一個(gè)累加的數(shù)值,便于識(shí)別;(2)本地硬盤空間占用少。
下載地址:https://tortoisesvn.net/downloads.html
使用教程:https://www.runoob.com/svn/tortoisesvn-intro.html
5、GitHub
GitHub的大名無人不知無人不曉,從996、微軟開源、錘子開源到小米開源都有它的身影。
GitHub是一個(gè)面向開源及私有軟件項(xiàng)目的托管平臺(tái),因?yàn)橹恢С謌it 作為唯一的版本庫格式進(jìn)行托管,故名GitHub。
魚鷹表示,GitHub是一個(gè)網(wǎng)站,不能算工具,這個(gè)網(wǎng)站應(yīng)該都聽說過,其實(shí)這個(gè)網(wǎng)站我還不怎么會(huì)使用,目前只是配合Git上傳代碼到上面而已,就不多說了。
那么為什么我要用它呢,因?yàn)楹芏鄷r(shí)候,你的源碼可能要傳輸?shù)絼e的平臺(tái),有了它比較方便,比如說,window平臺(tái)下開發(fā)的代碼,上傳到GitHub后,Ubuntu、樹莓派等平臺(tái)下都可以下載、上傳,方便代碼的同步。所以如果你不想花時(shí)間系統(tǒng)學(xué)習(xí)的話,把它當(dāng)成一個(gè)網(wǎng)盤使用也是不錯(cuò)的呦。
6、Qtcreator
Qt Creator是跨平臺(tái)的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收購后推出的一款新的輕量級(jí)集成開發(fā)環(huán)境(IDE)。此 IDE 能夠跨平臺(tái)運(yùn)行,支持的系統(tǒng)包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根據(jù)官方描述,Qt Creator 的設(shè)計(jì)目標(biāo)是使開發(fā)人員能夠利用 Qt 這個(gè)應(yīng)用程序框架更加快速及輕易的完成開發(fā)任務(wù)。
魚鷹表示,這個(gè)軟件和Qt有啥關(guān)系我也不清楚,咱也不敢說,咱也不敢問,只是下了一個(gè)安裝包安裝在Ubuntu下學(xué)習(xí)C++和Qt而已,事實(shí)上它也可以編譯單片機(jī)代碼(前提是有Makefile和交叉編譯器)。
那么為啥要聊它呢,因?yàn)镼t在嵌入式用途廣泛,如果說你寫的上位機(jī)既想在Windows運(yùn)行,也想在linux下運(yùn)行,那么Qt是不錯(cuò)的選擇,因?yàn)檫@個(gè)號(hào)稱是一次編寫,到處編譯的,所以優(yōu)勢還是很大的,而且采用的是C++語言,如果C語言學(xué)習(xí)的好,C++入門非??斓摹?/span>
7、Vscode
在開發(fā)中,有一個(gè)非常好用的工具,Visual Studio Code,簡稱VS code。
都不用我安利VS code,大家就會(huì)乖乖的去用,無數(shù)個(gè)大言不慚的攻城獅,都被VS code比德芙還絲滑的強(qiáng)大功能所折服。
VS vode特點(diǎn):開源,免費(fèi),自定義配置,集成git,智能提示強(qiáng)大,支持各種文件格式(html/jade/css/less/sass/xml),調(diào)試功能強(qiáng)大,各種方便的快捷鍵,強(qiáng)大的插件擴(kuò)展。
魚鷹表示,這個(gè)聽說是神器,具體多神我也不清楚,聽說可以替代KEIL了,各位道友有興趣的可以去研究一下,后期有時(shí)間了我也去試試,感受一下它的神威。
8、Beyond Compare
Beyond Compare是一套由Scooter Software推出的軟件,主要用途是對(duì)比兩個(gè)文件夾或者文件,并將差異以顏色標(biāo)示。
Beyond Compare支持11種文件類型對(duì)比及功能,包括文件夾比較、文件夾合并、文件夾同步、文本比較、文本合并、表格比較、16進(jìn)制比較、MP3比較、圖片比較、注冊(cè)表比較和版本比較,比較類型非常多。
9、HHD Software Device Monitoring Studio
HHD Software Device Monitoring Studio 是一款功能強(qiáng)大的設(shè)備監(jiān)控軟件,包括USB監(jiān)控(USB Monitor)、串口監(jiān)控(Serial Monitor)和網(wǎng)絡(luò)監(jiān)控(Network Monitor)三大模塊功能。HHD Software Device Monitoring Studio 是在驅(qū)動(dòng)層直接抓取數(shù)據(jù)包,反饋的數(shù)據(jù)包之間的時(shí)間間隔很準(zhǔn)確。是開發(fā)者必備工具!
10、山外多功能調(diào)試助手
山外多功能調(diào)試助手是一款集成串口調(diào)試助手、攝像頭調(diào)試、線性CCD調(diào)試、虛擬示波器、GSM調(diào)試助手、GPS定位系統(tǒng)、網(wǎng)絡(luò)調(diào)試助手(TCP服務(wù)器、TCP客戶端、UDP)等多種調(diào)試功能于一體的多功能助手。有了他,我們可以輕松應(yīng)對(duì)各種嵌入式開發(fā)。
11、串口調(diào)試工具
比較好用的串口調(diào)試工具有SSCOM,MyDockligh,AccessPort;如果是調(diào)試AT的話,QCOM還是最好用的一款串口工具。
當(dāng)然,之前嵌入式ARM也曾經(jīng)報(bào)道過一款非常好用的串口助手“伏特加”——《為了爽快地調(diào)試硬件,我跟串口調(diào)試助手杠上了》
12、Wireshark
Wireshark(前稱Ethereal)是一個(gè)網(wǎng)絡(luò)封包分析軟件。網(wǎng)絡(luò)封包分析軟件的功能是擷取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包資料。
Wireshark使用WinPCAP作為接口,直接與網(wǎng)卡進(jìn)行數(shù)據(jù)報(bào)文交換。
在過去,網(wǎng)絡(luò)封包分析軟件是非常昂貴的,或是專門屬于盈利用的軟件。
Ethereal的出現(xiàn)改變了這一切。在GNUGPL通用許可證的保障范圍底下,使用者可以以免費(fèi)的代價(jià)取得軟件與其源代碼,并擁有針對(duì)其源代碼修改及客制化的權(quán)利。Ethereal是目前全世界最廣泛的網(wǎng)絡(luò)封包分析軟件之一。
強(qiáng)大的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)報(bào)文分析工具,也是深入學(xué)習(xí)各種網(wǎng)絡(luò)協(xié)議必不可少的利器。
13、Socket工具
推薦IPoP和TCPUDPDbg。
14、SSHSecureShellClient
強(qiáng)大遠(yuǎn)程安全遠(yuǎn)程登錄工具。如果使用虛擬器的方式開發(fā)Android等Linux系統(tǒng),建議使用該工
具,避免在圖形界面操作Linux系統(tǒng),減少PC的負(fù)載。XShell也有不少工程師在用,本人沒有用過。
15、MQTT調(diào)試工具
Sever端推薦mosquitto,客戶端推薦paho。
Mosquitto是用C語言實(shí)現(xiàn)了MQTT(Message Queueing Telemetry
Transport)協(xié)議的Broker,EMQ君在本文對(duì)MQTT協(xié)議不做過多的贅述,關(guān)于 MQTT 協(xié)議的介紹讀者可以閱讀EMQ的MQTT協(xié)議介紹。本文重點(diǎn)介紹mosquito客戶端的使用。
Eclipse Paho:是Eclipse提供的一個(gè)訪問MQTT服務(wù)器的一種開源客戶端庫。
Eclipse目前提供十種不同語言平臺(tái)的客戶端類庫,
對(duì)于Java平臺(tái)而言和MQTT服務(wù)器交互的開源框架還有很多, 例如:
Eclipse Paho Java、 Xenqtt、 MeQanTT、 Fusesource mqtt -client、 moquette 等等...
但是, 根據(jù)GIthub上使用次數(shù)來講Eclipse Paho無疑是主流, 就個(gè)人使用而已, Eclipse Paho集成非常方便、簡單。
16、MobaXterm
遠(yuǎn)程連接終極工具,提供了主流的遠(yuǎn)程工具(SSH, X11, RDP, VNC, FTP, MOSH, ...)與Unix commands (bash, ls, cat, sed, grep, awk, rsync, ...)。
17、SecureCRT
SecureCRT是一款支持SSH(SSH1和SSH2)的終端仿真程序,同時(shí)支持Telnet和rlogin協(xié)議。小巧好用,從沒換過。
18、文件夾管理器total commander
Total Commander 是一款應(yīng)用于 Windows 平臺(tái)的文件管理器 ,它包含兩個(gè)并排的窗口,這種設(shè)計(jì)可以讓用戶方便地對(duì)不同位置的“文件或文件夾”進(jìn)行操作,例如復(fù)制、移動(dòng)、刪除、比較等,相對(duì) Windows 資源管理器而言方便很多,極大地提高了文件操作的效率,被廣大軟件愛好者親切地簡稱為:TC 。
它擁有文件快速預(yù)覽、快速搜索、多標(biāo)簽、文件比較、批量重命名、FTP 客戶端等諸多實(shí)用的功能,并可通過大量的插件進(jìn)行個(gè)性化配置。
19、網(wǎng)絡(luò)抓包軟件wireshark
Wireshark(前稱Ethereal)是一個(gè)網(wǎng)絡(luò)封包分析軟件。
20、文件搜索Everything
Everything速度最快的文件搜索軟件,可以瞬間搜索到你需要的文件。
21、文本編輯器notepad++
Notepad++是一套為自由軟件的純文本編輯器,支持眾多程序語言,比如C++、C#、Java等主流程序語言;支持HTML、XML、ASP,Perl、Python、JavaScript等網(wǎng)頁/腳本語言。
參考資料:
【1】魚鷹Osprey . 《介紹幾款好用的工具 | 嵌入式開發(fā)必備 》
【2】佚名 . 《嵌入式開發(fā)常用工具(windows)》
【3】佚名 . 《介紹幾款嵌入式開發(fā)工具,或許能用上!》
【4】歸云十九少 . 《嵌入式軟件開發(fā)工具集錦》
【5】百度百科相關(guān)詞條
-END-
猜你喜歡
嵌入式工程師,怎么不被歷史洪流沖走?
年輕人,拼命奮斗還是保命要緊?
都說嵌入式軟硬結(jié)合,你知道該怎么做嗎?
最 后
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!