建立嵌入式軟體開發的自動構建環境

2021-04-02 18:30:37 字數 2215 閱讀 3396

每日構建(

daily build

)已經不是什麼新概念了,它已經成為軟體專案的基本活動之一。至於它的好處,已經有不少文章和書籍介紹了,這裡不再多說了。雖然說,各種軟體開發都差不多,但在嵌入式軟體開發的這個領域,似乎對於新的方法和概念的接受要較晚一些。筆者曾呆過的兩家公司,以前都沒有自動構建環境,其它公司的情況則不太清楚。

一方面可能是不知道如何實現自動構建環境

; 一方面也可能是工作太忙,大家都懶得到去建立這個環境,其實這反而浪費了更多的時間。筆者曾在三家公司建立過自動構建環境,這些知識都很簡單,沒有什麼值得保密的,只是知與不知的問題,如果你恰巧也在做這方面的工作,或許有點幫助。 1.

實現定時執行的功能。

在win32

下,可以按下列步驟建立乙個自動執行的任務:

執行我的電腦

-->

控制面板

-->

任務計畫

-->

新增任務計畫

。按照提示的步驟輸入相關資訊。

在linux

下,可以用at或

cron

建立乙個自動執行的任務,具體用法可以檢視相關幫助。

2.實現自動獲取源**的功能。目前管理源**的工具,數開源的

cvs和微軟的

sourcesafe

的使用最為廣泛。對於前者,雖然現在也有

gui的客戶端,但在多數時候,用命令列的

cvs反而更地道一點,在指令碼中使用

cvs的獲取源**,不會有什麼問題。而後者,大家用慣了

gui的介面,甚至有人沒有聽說過

sourcesafe

的命令列工具,會用的人更為鮮見。幸運的是,微軟提供了乙個叫作

ss.exe

命令列的工具,這為自動獲取

sourcesafe

上的源**大開方便之門。 3.

實現自動編譯的功能。

a)makefile

的情況。如果使用

makefile

管理你的工程,自動編譯一點問題也沒有。

b)ads

的情況。如果你使用

ads管理你的工程,你有兩種方法可以選擇。

i.第一種方法:把

mcp轉換成

makefile

,但ads

mcp2make

的小工具。如果你並不是經常在工程裡的增刪檔案,這種方法不錯,否則每次增刪檔案後,都要重新產生

makefile

,那就比較麻煩了。

ii.第二種方法:

ads提供了乙個叫

cmdide

的工具,它雖然也是

gui的,但它在編譯過程中,無需使用者介入。它的使用方法很簡單,唯一不爽的就是它的編譯錯誤資訊不能儲存下來,如果編譯出錯了,你無法知道到底是**出錯了。

c)vc

的情況。大多數嵌入式軟體開發組,都會在

vc裡建立一套模擬開發環境。這樣,在

pc上可以執行大部分功能,這將節省不少除錯時間。自動編譯

vc也好幾種方法:

i.第一種方法:從

vc工程匯出

makefile

檔案,它的

makefile

與gmake

是不相容的,要用微軟提供的

nmake

才能編譯。

ii.第二種方法:在指令碼中執行

msdev.exe

,可以指定

dsw的名稱和編譯的方式(

clean/build/rebuild)

,如:msdev.exe c:/temp/t1/t1.dsw /make "t1 - win32 debug" /rebuild

iii.

第三種方法:用

vc提供的

com介面,呼叫

vc的編譯功能。 4.

實現自動生成安裝包的功能。現在大多數安裝工具都提供指令碼控制功能,你只要寫好乙個配置檔案,它自動生成安裝包。在開發嵌入式軟體時,常常不需要這些功能,要做的不過是把程式

bin

5.**tp

的庫,寫很少的**就可以實現乙個

**tp

的客戶工具。

一般來說,自動構建就是以上幾個步驟。有的可能複雜一些,比如,有的要求,編譯前從指定的位置更新檔案,如果編譯成功,則要把這些檔案

checkin

到源**管理系統中

; 也有的要求,編譯成功後執行自動測試程式。這些功能是輔助性,實施起來難度不大,這裡不做詳細討論。

建立嵌入式軟體開發的自動構建環境

每日構建 daily build 已經不是什麼新概念了,它已經成為軟體專案的基本活動之一。至於它的好處,已經有不少文章和書籍介紹了,這裡不再多說了。雖然說,各種軟體開發都差不多,但在嵌入式軟體開發的這個領域,似乎對於新的方法和概念的接受要較晚一些。筆者曾呆過的兩家公司,以前都沒有自動構建環境,其它公...

嵌入式軟體開發流程

1 嵌入式軟體開發流程在整個流程中,使用者首先需要建立工程並對工程做初步的配置,包括配置處理器和配置除錯裝置。編輯工程檔案,包括自己編寫的彙編和c語言源程式,還有工程編 譯時需要編寫的鏈結指令碼檔案,除錯過程中需要編寫儲存區映像檔案和命令指令碼檔案,以及上電復位時的程式執行入口的啟動程式檔案。對後四...

嵌入式軟體開發之我見

自己從事嵌入式系統開發有好多年了,在此想與大家分享我對於嵌入式開發的一點心得與體會。先大致說一說我的工作經歷。97年畢業後做了兩年的電氣與電子設計與開發,這一時期,我做過電路原理圖的設計和pcb板的設計。從99年開始,我進入了軟體行業。第一次做嵌入式開發是在2000年,在隨後的六年多的時間裡,我差不...