做嵌入式工程師不得不說的那些開發工具,讓你效率翻倍

2022-04-27     大方老師單片機

原標題:做嵌入式工程師不得不說的那些開發工具,讓你效率翻倍

嵌入式工程師不得不說的那些開發工具,讓你效率翻倍

作為一個軟體開發人員,除了程序能力素養方面外,還應該熟練地使用各種常用的輔助工具,所工欲善其事,必先利其;通過這些工具能提升自己的專業素養,且在工作中選擇合適的工具可以起到事半功倍的效果。

下面介紹各種常用軟體,可以選擇通過合適的工具來提高我們的工作效率。

///插播一條:我自己在今年年初錄製了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,私信我就可以~點我頭像黑色字體加我地球呺也能領取哦。最近比較閒,帶做畢設,帶學生參加省級或以上比///

正文開始:

IDE

單片機軟體開發常常使 IDE(嵌入式集成開發環境),因 IDE軟體集成了編輯、編譯、下載、調試等功能,在開發時十分便利,由於單片機種類繁多,因此所用 IDE軟體也繁多,以下介紹常用 IDE和單片機,如:

KEIL451單片機等

MDKKEIL5STM32ARM系列的單片機

IARfor stm8/armSTM8STM32ARM系列的單片機K60等飛思卡爾

SPC5 StudioST公司新推出SPC560/SPC570等系列單片機

CodeWarriorM(S)PC5604NXP(飛思卡爾)系列單片機

其他

對所使用IDE軟體進一步熟悉,熟練地使用相IDE在軟體開發和軟硬體調試時能夠解決很多事情,這裡不多說。

版本控制工具

版本控制軟體提供完備的版本管理功能,用於儲存、追蹤目錄(文件夾)和文件的修改歷史,是軟體開發者的必備工具,是軟體公司的基礎設施。版本控制軟體的最高目標,是支持軟體公司的配置管理活動,追蹤多個版本的開發和維護活動,及時發布軟體。

通俗來說,在實際的軟體開發過程中,通常會遇到實現某一個功能後或者想優化軟體代碼時,都會將整個工程複製副本備份起來,避免軟體修改後出現問題,但是因為不知道改動了哪些地方而無法還原之前的軟體代碼。

因此在軟體開發過程中,常常會有很多工程副本存在,但是副本一多,自己也不知道每個副本對應的狀態是什麼,也許有的人考慮到了,所以重命名副本的時候都會有一些簡單描述用來記錄當前工程副本的狀態。

為什麼要使用版本控制工具呢?

軟體當前狀態的備份,即版本管理(可以版本回退)

幫助我們記錄和跟蹤項目中各文件內容的修改變化(可以在同個工程目錄下操作)

提高代碼質量;因為代碼中有些改動沒有任何注釋時,通過版本記錄能查到,也可刪除無用代碼

協作開發;多人同時開發時,如果通過副本的形式拷貝給其他人進行協同開發時,會遇到很多問題,因為不知道誰的版本是最新的

能夠減少工程占用大小(這裡的大小指的是軟體及其副本占用的硬碟大小,通過版本控制工具,可以減少占用的硬碟大小)

版本控制工具有哪些?

Git

Git是目前世界上最先進的分布式版本控制系統,使 Git Gitlab搭建版本控制環境是現在網際網路公司最流行的版本控制方式(其中知名的 Github,最大的開原始碼庫Gitee,開源中國碼雲)

Git是一個免費的開源分布式版本控制系統,旨在快速高效地處理從小型到大型項目的所有事務

Git易於學習,占用內存小,具有閃電般快速的性能

操作起來相對複雜(命令行的形式),但是通過使 Git Gui工具,就能快速上手,但是自帶Gui工具不好用,可以使用第三方開發的, SourceTree(我經常使用的,因為還有及其方便 gitflow分支管理功能,建議初次使 Git的朋友可以不需要分支管理功能,因為剛使用的話理解起來比較困難,容易放棄),相GUI工具的對比可參考幾Git GUI客戶端工具

如下圖,這是我 Git GUI SourceTree管理的代碼,其中用 gitflow分支管理,如果不用的話,一 master分支就可以了,即圖譜中只存在一條藍線,代表每個版本(可以理解成一個副本)的相關記錄,在圖中可以看到穩定的兩個版本(標 V0.1.0 V1.0.0)文件明顯不同

SVN

TortoiseSVN是一款非常易於使用的跨平台版本控/版本控/原始碼控制軟體

VN是一個免費的集中式版本控制系統

也有可使用 GUI工具, TortoiseSVN等,可參SVN客戶端工具

其他

VSSCVS等,因為沒接觸,所以不知道,有興趣的可以自行百度

文件對比工具

我們常常會遇到一些文件需要進行比較,特別是一些代碼、文本、網頁或者是文件夾之間,我們非常需要一款工具可以清晰地分析出它們之間的全部差異,便於對其進行修改或參考,雖然能通 Git等版本管理工具也能看出差異,但是使用一款專業的文件對比工具更方便,可使用的軟體代碼比較軟體。

我推薦使 Beyond Compare軟體,用起來更方便,而且功能強大,但是這個軟體是要收費的(官方標準+Win/Mac/Linux259永久),不過它 30天的評估期免費使用(評估期時間到期的話可以重置,網上有教程方法)。

代碼閱讀神器

SourceInsight是一個程序編輯器和代碼瀏覽器,代碼編輯器的經典之作SourceInsight提供了最快速的對原始碼的導航和任何程序編輯器的源信息,作為一個擁有成熟 IDE軟體來說Source Insight用來開發和調試顯然沒 IDE方便,但是在閱讀原始碼方面,可謂是有過之而無不及。

當你用source Insight看代碼後或分析代碼後,保證你再也不想用其它代碼編輯器看代碼了,它比一般代碼閱讀器都要好用,強大,它擁有內置的C/C++, C#Java等程序的分析,支持幾乎所有的語言CC++ASMPASASPHTML等常見的。當然,除 Source Insight外,還 VS code軟體(免費)等,不過自從我用 VS code,感覺回不去了(安裝了很多插件,開發很方便)

文本編輯器

電腦自帶的文本編輯器,作為開發者來說,不太適合,因此需要專業的文本編輯器,UltraEdit(收費)Notepad++等支持多種語法高亮等功能

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

Notepad++是一款非常有特色的編輯器,軟體小巧高效,支27種程式語言,通C,C++ ,Java ,C#, XML, HTML, PHP,JS等。是開源軟體,可以免費使用,同時也支持各類流行的計算機程式語言。

搜索工具

Everything搜索工具基於名稱實時定位文件和目錄安裝文件小巧、介面簡潔易用、快速文件索引、快速文件搜索、極低資源占用、輕鬆分享文件索引和實時跟蹤更新等。

其介面簡潔,操作簡單,不用設置任何內容,啟動後即可立刻使用,還支持搜索語法,正則表達式和命令行參數;

源格式化工具

Astyle是一個開源的源碼格式化工具軟體,通過輸入相關指令集成 IDE或者文本編輯器軟體中,作為一個腳本自動格式話代碼風格,十分方便。如下圖,隨便打開一個糟糕的代碼文件,通過集成 Astyle工具自動格式化代碼風格。

IARKEIL等軟體也都能配 Astyle自定義工具,可自行百度,根據自己喜歡的風格格式化代碼,我常用的是命令行選項是

--style=allman -t -xV -C -f -p -H -k3 -y -xb -j -U %f

注釋文件生成工具

Doxygen是一個程序的文件產生工具,可將程序中的特定格式的注釋轉換成為說明文件,在嵌入式軟體開發之程序編程規範(四)中提到過代碼的注釋風格,符合該格式即可生 html文件或 chm文件。

文章來源: https://twgreatdaily.com/zh-cn/c407f513dbc976fcaa142b8ec0308ac5.html