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