有哪些工具可以讓嵌入式開發事半功倍?詳細盤點工程師必備工具

有哪些工具可以讓嵌入式開發事半功倍?詳細盤點工程師必備工具

嵌入式開發就是指在嵌入式操作系統下進行開發,一般常用的系統有μcos,vxworks,linux,android等。當然,對於嵌入式或單片機工程師的利器就是C語言、C++或彙編語言。那麼有哪些好工具可以讓工作事半功倍呢?

據著名單片機工程師魚鷹Osprey介紹,首先我學習的是Qt,而要學習Qt就必須學C++,而學了Qt之後發現新公司採用linux開發單片機,涉及到Makefile,還用了GitLab管理代碼,所以又簡單學習了GitLab的操作,然後發現代碼管理還要使用Git,所以花了幾天時間學習Git的使用……

很多單片機開發的道友都是手握KEIL行走天下的,事實上在跳槽之前我就是如此,一個KEIL搞定一切,編輯、編譯、下載、調試,全靠KEIL軟件,也是我研究KEIL這麼深的原因,因為只有你熟悉了工具,才能做到事半功倍。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

接下來就給大家介紹幾款嵌入式開發工具。下面這些工具,我認為你都應該花點時間學習一下,這是非常有用的工具,非常方便。

1、Source Insight

Source Insight是一個程序編輯器和代碼瀏覽器,代碼編輯器的經典之作。

Source Insight是一個面向項目開發的程序編輯器和代碼瀏覽器,它擁有內置的對C/C++, C#和Java等程序的分析。

Source Insight能分析你的源代碼並在你工作的同時動態維護它自己的符號數據庫,並自動為你顯示有用的上下文信息。

Source Insight不僅僅是一個強大的程序編輯器,它還能顯示reference trees,class inheritance diagrams和call trees。Source Insight提供了最快速的對源代碼的導航和任何程序編輯器的源信息。Source Insight提供了快速和革新的訪問源代碼和源信息的能力。與眾多其它編輯器產品不同,Source Insight能在你編輯的同時分析你的源代碼,為你提供實用的信息並立即進行分析。

魚鷹對這個工具的評價是:我們知道KEIL查看函數或者符合定義時,要麼右鍵查找定義,要麼熟練的使用快捷鍵 F12 進行跳轉,但無一例外的就是都需要額外的操作,但SourceInsight只要你把光標指向函數名,就會自動有一個小窗口顯示函數體,看似只比KEIL少了一步,也只是多了一個窗口而已,但就是這點區別,就足以讓魚鷹安裝了(事實上它也可以在設置後編譯源碼的,這個暫時沒去研究過,不多說)。在看別人代碼的時候,跳來跳去的正常不過了,而KEIL每次跳轉都會跳轉到新窗口,想回來,只能再切換窗口,如果跳轉次數不多的話,那沒什麼,但是查看不熟悉的代碼,你認為你不需要頻繁跳轉嗎?所以魚鷹認為,這個神器必須安裝,特別是查看linux內核這種大型源碼時,更是如此。而且它安裝包也很小,不用太關心內存問題,你,值得擁有。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

2、UltraEdit

UltraEdit 是一套功能強大的文本編輯器,可以編輯文本、十六進制、ASCII 碼,完全可以取代記事本(如果電腦配置足夠強大),內建英文單字檢查、C++ 及 VB 指令突顯,可同時編輯多個文件,而且即使開啟很大的文件速度也不會慢。

UltraEdit 是 Windows 旗下一款流行的老牌文本/HEX 編輯器(非開源)。UltraEdit 正被移植到 Linux 平臺。該移植名為 UEX,意即 UltraEdit forLinux。UEX具有原生的 Linux 外觀,其界面、配置、熱鍵等與 Windows 版並無二致。UltraEdit是一個49.95美元的共享軟件,提供了友好界面的編程編輯器,支持語法高亮,代碼摺疊和宏,以及一大堆其他的功能,內置了對於HTML、PHP和JavaScript等語法的支持。UltraEdit代碼摺疊支持在所有 32 位Windows平臺上進行 64 位文件處理(標準),Unicode 支持基於磁盤的文本編輯和大文件處理 - 支持超過 4GB 的文件,即使是數兆字節的文件也只佔用極少的內存。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具
有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

3、Git

Git(讀音為/gɪt/。)是一個開源的分佈式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。

Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。

Git是目前世界上最先進的分佈式版本控制系統(沒有之一)。

Git有什麼特點?簡單來說就是:高端大氣上檔次!

魚鷹對這個工具的評價是這樣的:這個工具用於軟件版本控制的,事實上魚鷹在前五年開發使用的版本工具就是複製、粘貼,你沒有看錯,魚鷹工作的那一年也是採用這種方式進行版本控制的。我相信公眾號的很多道友現在還都是採用這種方式吧。這種方式確實簡單,不用學習什麼命令,也不用知道怎麼使用工具,因為複製、粘貼、重命名誰不會啊,學習成本很低。

但是當你不停的更新、不停的修改代碼的時候,你就會發現,這個複製粘貼的方式效率很低,也很難把控:你會發現你的文件夾變得越來越多,也越來越不知道每一個文件和其他文件有什麼不同了,時間久了,你根本不知道改動到底在哪。

但是Git不一樣,你能看到文件只有當前使用的一份,歷史改動全部被Git給隱藏了,所以你會看到你的源碼文件明明只有幾K,但你回到上級目錄查看這個文件屬性時,你會發現可能有幾百M內容,那麼多出來的文件是什麼?就是你以前的歷史文件了,都隱藏在.git文件夾中。

而你要查看這些歷史只要幾條命令就行,也很容易就能回到你需要的版本中,就如乘坐時光機,輕鬆來往於過去與未來。

還有它可以很方便的查看版本的差異,讓你再也不用使用專門的工具查看各個文件的不同了。

而且Git是採用本地管理的,不需要網絡,非常方便。

學習Git基本使用方法只需要花個一兩天時間學習就夠了,但是卻能免除你今後開發生涯的複製、粘貼操作了,魚鷹覺得這是非常值得做的一件事。

Git教程:https://www.liaoxuefeng.com/wiki/896043488029600

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

據某工程師分享,git版本管理的客戶端自己使用比較多的是msysGit。msysGit提供gui與bash兩種視圖:

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

4、TortoiseSVN

ortoiseSVN 是 Subversion 版本控制系統的一個免費開源客戶端,可以超越時間的管理文件和目錄。

開源的可視化的集中式代碼版本管理。相關於git的優點是(1)提交號是一個累加的數值,便於識別;(2)本地硬盤空間佔用少。

使用教程:https://www.runoob.com/svn/tortoisesvn-intro.html

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

5、GitHub

GitHub的大名無人不知無人不曉,從996、微軟開源、錘子開源到小米開源都有它的身影。

GitHub是一個面向開源及私有軟件項目的託管平臺,因為只支持git 作為唯一的版本庫格式進行託管,故名GitHub。

魚鷹表示,GitHub是一個網站,不能算工具,這個網站應該都聽說過,其實這個網站我還不怎麼會使用,目前只是配合Git上傳代碼到上面而已,就不多說了。

那麼為什麼我要用它呢,因為很多時候,你的源碼可能要傳輸到別的平臺,有了它比較方便,比如說,window平臺下開發的代碼,上傳到GitHub後,Ubuntu、樹莓派等平臺下都可以下載、上傳,方便代碼的同步。所以如果你不想花時間系統學習的話,把它當成一個網盤使用也是不錯的呦。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

6、Qtcreator

Qt Creator是跨平臺的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收購後推出的一款新的輕量級集成開發環境(IDE)。此 IDE 能夠跨平臺運行,支持的系統包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根據官方描述,Qt Creator 的設計目標是使開發人員能夠利用 Qt 這個應用程序框架更加快速及輕易的完成開發任務。

魚鷹表示,這個軟件和Qt有啥關係我也不清楚,咱也不敢說,咱也不敢問,只是下了一個安裝包安裝在Ubuntu下學習C++和Qt而已,事實上它也可以編譯單片機代碼(前提是有Makefile和交叉編譯器)。

那麼為啥要聊它呢,因為Qt在嵌入式用途廣泛,如果說你寫的上位機既想在Windows運行,也想在linux下運行,那麼Qt是不錯的選擇,因為這個號稱是一次編寫,到處編譯的,所以優勢還是很大的,而且採用的是C++語言,如果C語言學習的好,C++入門非常快的。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

7、Vs code

在開發中,有一個非常好用的工具,Visual Studio Code,簡稱VS code。

都不用我安利VS code,大家就會乖乖的去用,無數個大言不慚的攻城獅,都被VS code比德芙還絲滑的強大功能所折服。

VS code特點:開源,免費,自定義配置,集成git,智能提示強大,支持各種文件格式(html/jade/css/less/sass/xml),調試功能強大,各種方便的快捷鍵,強大的插件擴展。

魚鷹表示,這個聽說是神器,具體多神我也不清楚,聽說可以替代KEIL了,各位道友有興趣的可以去研究一下,後期有時間了我也去試試,感受一下它的神威。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

8、Beyond Compare

Beyond Compare是一套由Scooter Software推出的軟件,主要用途是對比兩個文件夾或者文件,並將差異以顏色標示。

Beyond Compare支持11種文件類型對比及功能,包括文件夾比較、文件夾合併、文件夾同步、文本比較、文本合併、表格比較、16進制比較、MP3比較、圖片比較、註冊表比較和版本比較,比較類型非常多。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

9、HHD Software Device Monitoring Studio

HHD Software Device Monitoring Studio 是一款功能強大的設備監控軟件,包括USB監控(USB Monitor)、串口監控(Serial Monitor)和網絡監控(Network Monitor)三大模塊功能。HHD Software Device Monitoring Studio 是在驅動層直接抓取數據包,反饋的數據包之間的時間間隔很準確。是開發者必備工具!

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

10、山外多功能調試助手

山外多功能調試助手是一款集成串口調試助手、攝像頭調試、線性CCD調試、虛擬示波器、GSM調試助手、GPS定位系統、網絡調試助手(TCP服務器、TCP客戶端、UDP)等多種調試功能於一體的多功能助手。有了他,我們可以輕鬆應對各種嵌入式開發。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

11、串口調試工具

比較好用的串口調試工具有SSCOM,MyDockligh,AccessPort;如果是調試AT的話,QCOM還是最好用的一款串口工具。

當然,之前嵌入式ARM也曾經報道過一款非常好用的串口助手“伏特加”——《為了爽快地調試硬件,我跟串口調試助手槓上了》

12、Wireshark

Wireshark(前稱Ethereal)是一個網絡封包分析軟件。網絡封包分析軟件的功能是擷取網絡封包,並儘可能顯示出最為詳細的網絡封包資料。

Wireshark使用WinPCAP作為接口,直接與網卡進行數據報文交換。

在過去,網絡封包分析軟件是非常昂貴的,或是專門屬於盈利用的軟件。

Ethereal的出現改變了這一切。在GNUGPL通用許可證的保障範圍底下,使用者可以以免費的代價取得軟件與其源代碼,並擁有針對其源代碼修改及客製化的權利。Ethereal是目前全世界最廣泛的網絡封包分析軟件之一。

強大的網絡協議數據報文分析工具,也是深入學習各種網絡協議必不可少的利器。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

13、Socket工具

推薦IPoP和TCPUDPDbg。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具
有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

14、SSHSecureShellClient

強大遠程安全遠程登錄工具。如果使用虛擬器的方式開發Android等Linux系統,建議使用該工

具,避免在圖形界面操作Linux系統,減少PC的負載。XShell也有不少工程師在用,本人沒有用過。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

15、MQTT調試工具

Sever端推薦mosquitto,客戶端推薦paho。

Mosquitto是用C語言實現了MQTT(Message Queueing Telemetry

Transport)協議的Broker,EMQ君在本文對MQTT協議不做過多的贅述,關於 MQTT 協議的介紹讀者可以閱讀EMQ的MQTT協議介紹。本文重點介紹mosquito客戶端的使用。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

Eclipse Paho:是Eclipse提供的一個訪問MQTT服務器的一種開源客戶端庫。

Eclipse目前提供十種不同語言平臺的客戶端類庫,

對於Java平臺而言和MQTT服務器交互的開源框架還有很多, 例如:

Eclipse Paho Java、 Xenqtt、 MeQanTT、 Fusesource mqtt -client、 moquette 等等...

但是, 根據GIthub上使用次數來講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協議。小巧好用,從沒換過。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

18、文件夾管理器total commander

Total Commander 是一款應用於 Windows 平臺的文件管理器 ,它包含兩個並排的窗口,這種設計可以讓用戶方便地對不同位置的“文件或文件夾”進行操作,例如複製、移動、刪除、比較等,相對 Windows 資源管理器而言方便很多,極大地提高了文件操作的效率,被廣大軟件愛好者親切地簡稱為:TC 。

它擁有文件快速預覽、快速搜索、多標籤、文件比較、批量重命名、FTP 客戶端等諸多實用的功能,並可通過大量的插件進行個性化配置。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

19、網絡抓包軟件wireshark

Wireshark(前稱Ethereal)是一個網絡封包分析軟件。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

20、文件搜索Everything

Everything速度最快的文件搜索軟件,可以瞬間搜索到你需要的文件。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

Notepad++是一套為自由軟件的純文本編輯器,支持眾多程序語言,比如C++、C#、Java等主流程序語言;支持HTML、XML、ASP,Perl、Python、JavaScript等網頁/腳本語言。

有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具

﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

免責聲明:內容整理自網絡,版權歸原作者所有,如涉及作品版權問題,請及時與我們聯繫,謝謝!

你和大牛工程師到底差了啥?

加入技術交流群,與高手面對面

添加發燒友小助手入群

學習嵌入式軟件


分享到:


相關文章: