• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

嵌入式軟件開(kāi)發(fā)常用軟件

04/25 13:08
1757
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

作為一個(gè)軟件開(kāi)發(fā)人員,除了程序能力素養(yǎng)方面外,還應(yīng)該熟練地使用各種常用的輔助工具,所謂“工欲善其事,必先利其器”;通過(guò)這些工具能提升自己的專業(yè)素養(yǎng),且在工作中選擇合適的工具可以起到事半功倍的效果。

下面介紹各種常用軟件,可以選擇通過(guò)合適的工具來(lái)提高我們的工作效率。

IDE

單片機(jī)軟件開(kāi)發(fā)常常使用 IDE(嵌入式集成開(kāi)發(fā)環(huán)境),因?yàn)?IDE 軟件集成了編輯、編譯、下載、調(diào)試等功能,在開(kāi)發(fā)時(shí)十分便利,由于單片機(jī)種類繁多,因此所用的 IDE 軟件也繁多,以下介紹常用的 IDE 和單片機(jī),如:

  • KEIL4:51單片機(jī)
  • MDK(KEIL5):STM32等ARM系列的單片機(jī)
  • IAR(for stm8/arm):STM8、STM32等ARM系列的單片機(jī)、K60等飛思卡爾
  • SPC5 Studio:ST公司新推出的SPC560/SPC570等系列單片機(jī)
  • CodeWarrior:M(S)PC5604等NXP(飛思卡爾)系列單片機(jī)
  • 其他

對(duì)所使用的IDE軟件進(jìn)一步熟悉,熟練地使用相關(guān)IDE在軟件開(kāi)發(fā)和軟硬件調(diào)試時(shí)能夠解決很多事情,這里不多說(shuō)。

版本控制工具

版本控制軟件提供完備的版本管理功能,用于儲(chǔ)存、追蹤目錄(文件夾)和文件的修改歷史,是軟件開(kāi)發(fā)者的必備工具,是軟件公司的基礎(chǔ)設(shè)施。版本控制軟件的最高目標(biāo),是支持軟件公司的配置管理活動(dòng),追蹤多個(gè)版本的開(kāi)發(fā)和維護(hù)活動(dòng),及時(shí)發(fā)布軟件。

通俗來(lái)說(shuō),在實(shí)際的軟件開(kāi)發(fā)過(guò)程中,通常會(huì)遇到實(shí)現(xiàn)某一個(gè)功能后或者想優(yōu)化軟件代碼時(shí),都會(huì)將整個(gè)工程復(fù)制副本備份起來(lái),避免軟件修改后出現(xiàn)問(wèn)題,但是因?yàn)椴恢栏膭?dòng)了哪些地方而無(wú)法還原之前的軟件代碼。

因此在軟件開(kāi)發(fā)過(guò)程中,常常會(huì)有很多工程副本存在,但是副本一多,自己也不知道每個(gè)副本對(duì)應(yīng)的狀態(tài)是什么,也許有的人考慮到了,所以重命名副本的時(shí)候都會(huì)有一些簡(jiǎn)單描述用來(lái)記錄當(dāng)前工程副本的狀態(tài)。

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

軟件當(dāng)前狀態(tài)的備份,即版本管理(可以版本回退)

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

提高代碼質(zhì)量;因?yàn)榇a中有些改動(dòng)沒(méi)有任何注釋時(shí),通過(guò)版本記錄能查到,也可刪除無(wú)用代碼

協(xié)作開(kāi)發(fā);多人同時(shí)開(kāi)發(fā)時(shí),如果通過(guò)副本的形式拷貝給其他人進(jìn)行協(xié)同開(kāi)發(fā)時(shí),會(huì)遇到很多問(wèn)題,因?yàn)椴恢勒l(shuí)的版本是最新的

能夠減少工程占用大?。ㄟ@里的大小指的是軟件及其副本占用的硬盤大小,通過(guò)版本控制工具,可以減少占用的硬盤大?。?/p>

版本控制工具有哪些?

  • Git
  • Git 是目前世界上最先進(jìn)的分布式版本控制系統(tǒng),使用 Git 和 Gitlab 搭建版本控制環(huán)境是現(xiàn)在互聯(lián)網(wǎng)公司最流行的版本控制方式(其中知名的是 Github,最大的開(kāi)源代碼庫(kù);Gitee,開(kāi)源中國(guó)碼云)
  • Git 是一個(gè)免費(fèi)的開(kāi)源分布式版本控制系統(tǒng),旨在快速高效地處理從小型到大型項(xiàng)目的所有事務(wù)
  • Git 易于學(xué)習(xí),占用內(nèi)存小,具有閃電般快速的性能
  • 操作起來(lái)相對(duì)復(fù)雜(命令行的形式),但是通過(guò)使用 Git Gui工具,就能快速上手,但是自帶的Gui 工具不好用,可以使用第三方開(kāi)發(fā)的,如 SourceTree(我經(jīng)常使用的,因?yàn)檫€有及其方便的 gitflow 分支管理功能,建議初次使用 Git 的朋友可以不需要分支管理功能,因?yàn)閯偸褂玫脑捓斫馄饋?lái)比較困難,容易放棄),相關(guān)GUI工具的對(duì)比可參考幾款Git GUI客戶端工具
  • 如下圖,這是我用 Git GUI 軟件 SourceTree 管理的代碼,其中用了 gitflow 分支管理,如果不用的話,一條 master 分支就可以了,即圖譜中只存在一條藍(lán)線,代表每個(gè)版本(可以理解成一個(gè)副本)的相關(guān)記錄,在圖中可以看到穩(wěn)定的兩個(gè)版本(標(biāo)簽 V0.1.0 和 V1.0.0)文件明顯不同

  • SVN
  • TortoiseSVN是一款非常易于使用的跨平臺(tái)的 版本控制/版本控制/源代碼控制軟件
  • VN 是一個(gè)免費(fèi)的集中式版本控制系統(tǒng)
  • 也有可使用的 GUI 工具,如 TortoiseSVN等,可參考SVN 客戶端工具
  • 其他

如VSS、CVS等,因?yàn)闆](méi)接觸,所以不知道,有興趣的可以自行百度

文件對(duì)比工具

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

我推薦使用 Beyond Compare 軟件,用起來(lái)更方便,而且功能強(qiáng)大,但是這個(gè)軟件是要收費(fèi)的(官方標(biāo)準(zhǔn)版+Win/Mac/Linux ¥259 永久),不過(guò)它有 30 天的評(píng)估期免費(fèi)使用(評(píng)估期時(shí)間到期的話可以重置,網(wǎng)上有教程方法)。

代碼閱讀神器

SourceInsight是一個(gè)程序編輯器和代碼瀏覽器,代碼編輯器的經(jīng)典之作。SourceInsight提供了最快速的對(duì)源代碼的導(dǎo)航和任何程序編輯器的源信息,作為一個(gè)擁有成熟的 IDE 軟件來(lái)說(shuō),Source Insight 用來(lái)開(kāi)發(fā)和調(diào)試顯然沒(méi)有 IDE 方便,但是在閱讀源代碼方面,可謂是有過(guò)之而無(wú)不及。

當(dāng)你用過(guò)source Insight看代碼后或分析代碼后,保證你再也不想用其它代碼編輯器看代碼了,它比一般代碼閱讀器都要好用,強(qiáng)大,它擁有內(nèi)置的對(duì)C/C++, C#和Java等程序的分析,支持幾乎所有的語(yǔ)言, 如C、C++、ASM、PAS、ASP、HTML等常見(jiàn)的。當(dāng)然,除了 Source Insight 外,還有 VS code 軟件(免費(fèi))等,不過(guò)自從我用了 VS code,感覺(jué)回不去了(安裝了很多插件,開(kāi)發(fā)很方便)

文本編輯器

電腦自帶的文本編輯器,作為開(kāi)發(fā)者來(lái)說(shuō),不太適合,因此需要專業(yè)的文本編輯器,如UltraEdit(收費(fèi))、Notepad++ 等支持多種語(yǔ)法高亮等功能

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

Notepad++ 是一款非常有特色的編輯器,軟件小巧高效,支持27種編程語(yǔ)言,通吃C,C++ ,Java ,C#, XML, HTML, PHP,JS 等。是開(kāi)源軟件,可以免費(fèi)使用,同時(shí)也支持各類流行的計(jì)算機(jī)編程語(yǔ)言。

搜索工具

Everything 搜索工具基于名稱實(shí)時(shí)定位文件和目錄安裝文件小巧、界面簡(jiǎn)潔易用、快速文件索引、快速文件搜索、極低資源占用、輕松分享文件索引和實(shí)時(shí)跟蹤更新等。

其界面簡(jiǎn)潔,操作簡(jiǎn)單,不用設(shè)置任何內(nèi)容,啟動(dòng)后即可立刻使用,還支持搜索語(yǔ)法,正則表達(dá)式和命令行參數(shù);

源格式化工具

Astyle 是一個(gè)開(kāi)源的源碼格式化工具軟件,通過(guò)輸入相關(guān)指令集成在 IDE 或者文本編輯器軟件中,作為一個(gè)腳本自動(dòng)格式話代碼風(fēng)格,十分方便。如下圖,隨便打開(kāi)一個(gè)糟糕的代碼文件,通過(guò)集成的 Astyle工具自動(dòng)格式化代碼風(fēng)格。

IAR、KEIL 等軟件也都能配置 Astyle 自定義工具,可自行百度,根據(jù)自己喜歡的風(fēng)格格式化代碼,我常用的是命令行選項(xiàng)是

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

注釋文件生成工具

Doxygen 是一個(gè)程序的文件產(chǎn)生工具,可將程序中的特定格式的注釋轉(zhuǎn)換成為說(shuō)明文件,在嵌入式軟件開(kāi)發(fā)之程序編程規(guī)范(四)中提到過(guò)代碼的注釋風(fēng)格,符合該格式即可生成 html 文件或者 chm 文件。

相關(guān)推薦