嵌入式軟件工具分享
時間:2023-10-20 來源:華清遠見
隨著時代的發展,嵌入式已經成為了時代進步的主流,那什么是嵌入式呢?嵌入式設備有哪些呢?從應用對象上加以定義,嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。
而我們生活中有哪些嵌入式設備呢,如交換機、打印機、投影儀、無線路由器、車載媒體、PDA、GPS、智能家電等都是我們的嵌入式設備。
是不是對嵌入式的學習現在充滿了興趣?那么想要學好一些技術,實用性工具的使用功不可沒,現在就為大家分享幾款嵌入式方向常用的軟件工具:
閱讀理解代碼的工具:
understand
Understand軟件的功能主要定位于代碼的閱讀理解。具備如下特性:
1、支持多語言: Ada,C,C++,Cl#, Java,FORTRAN, Delphi, Jovial, and PL/M,混合語言的project也支持
2、多平臺: Windows/Linux/Solaris/HP-UX/IRIX/MAC Osx
3、代碼語法高亮、代碼折疊、交叉跳轉、書簽等基本閱讀功能。
4、可以對整個project的architecture、metrics進行分析并輸出報表。
5、可以對代碼生成多種圖(butterfly graph、call graph、called by graph、control flow graph、UML classgraph等),在圖上點擊節點可以跳轉到對應的源代碼位置。
6、提供Perl API便于擴展。作圖全部是用Perl插件實現的,直接讀取分析好的數據庫作圖。
7、內置的目錄和文件比較器。
8、支持project的snapshot,并能和自家的TrackBack集成便于監視project的變化。
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能在你編輯的同時分析你的源代碼,為你提供實用的信息并立即進行分析。
cscope
cscope 是一個 C語言的瀏覽工具,通過這個工具可以很方便地找到某個函數或變量的定義位置、被調用的位置等信息。目前支持 C 和 C++。cscope 自身帶一個基于文本的用戶界面,不過 gvim 提供了cscope接口,因此可以在 gvim 中調用 cscope,方便快捷地瀏覽源代碼。
Cscope是一個類似ctags的工具。 你可以把它想作是超過頻的ctags,因為它功能比ctags強大很多。 在 Vim里,通過cscope查詢結果來跳轉就象跳轉到其他的標簽完全一樣;它被保存在標簽棧里。這樣你就可以象使用tags一樣在函數等等之間便捷的跳轉。在VIM中使用cscope非常簡單,首先調用"cscope add"命令添加一個cscope數據庫,然后就可以調用"cscope find"命令進行查找了。VIM支持8種cscope的查詢功能,如下:例如,我們想在代碼中查找調用work()函數的函數,我們可以輸入:":cs find c work",回車后發現沒有找到匹配的功能,可能并沒有函數調用work()。我們再輸入":cs find s work",查找這個符號出現的位置,現在vim列出了這個符號出現的所有位置。我們還可以進行字符串查找,它會雙引號或單引號括起來的內容中查找。還可以輸入一個正則表達式,這類似于egrep程序的功能。
代碼編寫工具:
vscode
Visual Studio Code (簡稱 VS Code / VSC) 是一款免費開源的現代化輕量級代碼編輯器,支持幾乎所有主流的開發語言的語法高亮、智能代碼補全、自定義熱鍵、括號匹配、代碼片段、代碼對比 Diff、GIT 等特性,支持插件擴展,并針對網頁開發和云端應用開發做了優化。軟件跨平臺支持 Win、Mac 以及 Linux。
vscode 作為一款逐漸火熱的編輯器。它的特點免費、開源、多平臺,以及集成git,代碼調試,插件豐富等有點,被大家逐漸熟知和認可。
notepad++
【notepad++簡介】
Notepad++是旨在替代Windows默認的notepad而生,比notepad的功能強大很多很多。
Notepad++有兩個版本,一個是ANSI版本,一個是UNICODE版本。
對于大多數人把Notepad++作為notepad的增強版,而需要的普通應用的話,ANSI版本和UNICODE版本,其實沒啥差別。
notepad++支持插件,添加對應不同的插件,以支持不同的功能。里面除了一些常見的插件之外,還有一些好玩的插件,比如將文字讀出來的speech插件。
Notepad++屬于輕量級的文本編輯類軟件,比其他一些專業的文本編輯類工具,比如UltraEdit等要啟動更快,占用資源更少,但是從功能使用等方面來說,不亞于那些專業工具,而windows默認的notepad雖然更“輕量”,但是功能就太少。所以一般用notepad++,或者另一個工具notepad2來代替notapad,同樣也代替太復雜和龐大的UltraEdit。
【notepad,notepad2,notepad++,ultraEdit比較】
根據個人對一些文本類編輯工具的使用感覺來看,notepad2比notepad++相對啟動更快,占用資源更少,但是相對來說,功能比較少,所以,很多常用的方便的功能,還是沒法使用。而ultraEdit雖然功能多,但是太消耗資源,用起來太麻煩了,關鍵還是收費的,而notepad++是免費的。總的概括如下:
notepad:windows自帶的,占用資源最少,啟動最快,但是功能太弱,以至于滿足需求。是免費的。
notepad2:占用資源稍多,啟動也很快,但是功能上,沒有notepad++多,更沒有ultraEdit多。是免費的。
notepad++:占用資源有點多,啟動要停頓一下,但是功能很強大,尤其是支持插件模式,使得擴展性非常好,支持很多的其他高級功能,而且使用起來也很方便。是免費的。
ultraEdit:功能強大,但是安裝文件很大,占用資源多,啟動慢,而且是收費的。
因此,根據啟動速度,占用資源,功能支持,等方面來綜合衡量,對于notepad,notepad2,notepad++,ultraEdit來說,無疑notepad++是最好的選擇了。
Emacs:
Emacs,著名的集成開發環境和文本編輯器。Emacs被公認為是最受專業程序員喜愛的代碼編輯器之一,另外一個vim。
EMACS,即Editor MACroS(編輯器宏)的縮寫,最初由Richard Stallman(理查德·馬修·斯托曼)于1975年在MIT協同Guy Steele共同完成。這一創意的靈感來源于TECMAC和TMACS,它們是由Guy Steele、Dave Moon、Richard Greenblatt、Charles Frankston等人編寫的宏文本編輯器。
自誕生以來,Emacs演化出了眾多分支,其中使用最廣泛的兩種是:1984年由Richard Stallman發起并由他維護的GNU Emacs,以及1991年發起的XEmacs。XEmacs是GNU Emacs的分支,仍保持著相當的兼容性。
Emacs使用Emacs Lisp,這種有著極強擴展性的編程語言,從而實現了包括編程、編譯乃至網絡瀏覽等等功能的擴展。
項目管理工具:
GitHub
Github是一個面向開源的私有軟件托管平臺,因為只支持Git作為唯一的版本庫格式進行托管,所以叫Github。它于2008年4月10日正式上線,它的開發者也是linux之父:“林納斯·本納第克特·托瓦茲”,作為一個分布式的版本控制系統,Github的功能除了 Git 代碼倉庫托管及基本的 Web 管理界面以外,還提供了訂閱、討論組、文本渲染、在線文件編輯器、協作圖譜(報表)、代碼片段分享(Gist)等功能。目前,在 GitHub 上托管的版本數量非常之多,其中不乏知名開源項目 Ruby on Rails、jQuery、python 等。Github的倉庫是他獨有的特征,你大可以理解為一個無限容量且沒有傳輸速度限制的網上云盤,但是這個云盤是可以設置公共與私密空間的,在這個開源的時代,你可以通過這個平臺看到世界上許多其他大佬的程序作品,并且學習他們的編程思想,而且這很容易獲得。
單片機開發相關工具:
keil5
Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(μVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。
IAR
01跨平臺支持
構建工具包括 IAR C/C++ 編譯器、IAR 匯編器、鏈接器和命令行構建工具 IARBuild,支持在基于跨平臺的框架中實現自動化應用構建和測試流程。靜態代碼分析功能可通過插件產品 C-STAT提供。
02靈活和高性能
適用于從小型構建服務器上僅有幾個許可證的安裝,到同時支持幾百個并行構建的大規模安裝。構建工具可以實現關鍵軟件構建和測試的大規模部署。
03支持 8000 多款 Arm 芯片
支持所有主要供應商的所有 32 位 Arm 內核和選定的 64 位 Arm 內核。其中包括 Arm Cortex-M0、Cortex-M0+、Cortex-M1、Cortex-M3、Cortex-M4、Cortex-M7、Cortex-M23、Cortex-M33、Cortex-M55、Cortex-R4、Cortex-R5、Cortex-R7、Cortex-R8、Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A35、Cortex-A53、Cortex-A55、Cortex-A57、Cortex-A72 以及 Arm11、Arm9、Arm7 和 SecurCore。
常見調試工具:
串口調試助手

網絡調試助手


參數調試助手


