應(yīng)用PCS進(jìn)行嵌入式Linux的研究
PCS允許開發(fā)者按照自己的期望來(lái)對(duì)Linux部件進(jìn)行編譯。開發(fā)者可以只編譯那些上次編譯之后重新配置的部件,也可以強(qiáng)制編譯項(xiàng)目所包含的全部的部件,不管是否已經(jīng)編譯過(guò)。
• 部署Linux loader和開發(fā)包到板上
對(duì)于已經(jīng)存在的SBC,應(yīng)該已經(jīng)提供了這些軟件包。對(duì)于定制的目標(biāo)板還需要做下面的工作:用于目標(biāo)板的bootload固件,板上bring-up,遠(yuǎn)程bootload等。這樣就完成了開發(fā)模式下最小板上環(huán)境。
• 完成新的驅(qū)動(dòng)程序
如果功能需求需要的話,開發(fā)者要完成為目標(biāo)板的特定硬件驅(qū)動(dòng)程序。
• 開發(fā)應(yīng)用
開發(fā)者開發(fā)運(yùn)行在目標(biāo)板上的應(yīng)用,開發(fā)者可以使用隨同PCS一同發(fā)布的Codewarrior IDE進(jìn)行應(yīng)用的開發(fā)和調(diào)試。
• 重新配置:由開發(fā)模式轉(zhuǎn)換到產(chǎn)品模式
修改目標(biāo)板固件:
支持本地bootload。
支持本地根文件系統(tǒng),通常將根文件設(shè)置為只讀模式。
去除開發(fā)用的遺留部件:
去除調(diào)試工具。
去除用于方便開發(fā)而導(dǎo)入的無(wú)用部件。
去除無(wú)用的類庫(kù),只保留需要的那部分。
為啟動(dòng)特殊的應(yīng)用而改變啟動(dòng)過(guò)程。
最終產(chǎn)品測(cè)試。
• 部署最終產(chǎn)品,發(fā)布產(chǎn)品。
軟件的部署是一個(gè)比較復(fù)雜的過(guò)程,但是PCS提供了一個(gè)非常方便的部署向?qū)?,可以在很大的程度上減少部署的工作量。部署的過(guò)程包括為目標(biāo)板生成嵌入式鏡像文件,然后部署到目標(biāo)板上。在部署之前需要使用PCS提供的交叉編譯環(huán)境對(duì)所有的軟件包進(jìn)行編譯。PCS會(huì)幫助開發(fā)者生成系統(tǒng)的鏡像文件,包括生成文件系統(tǒng),轉(zhuǎn)換格式使得鏡像文件可以下載到目標(biāo)板上。PCS提供了一個(gè)擴(kuò)展性很好的策略,就是開發(fā)者可以開發(fā)自己的部署向?qū)?lái)完成一些特殊的部署操作,在PCS文檔中有非常詳細(xì)的關(guān)于這部分功能的介紹。
• 在PCS中導(dǎo)出新的BSP,可以在以后的開發(fā)中應(yīng)用。
PCS提供了一套圖形化的導(dǎo)出BSP的工具,用戶在圖形界面上進(jìn)行簡(jiǎn)單的設(shè)置之后就可以導(dǎo)出的BSP以便在以后的開發(fā)中使用。大多數(shù)的項(xiàng)目是在一個(gè)已經(jīng)存在的BSP的基礎(chǔ)上創(chuàng)建的,導(dǎo)出的BSP可以讓很多成果和解決方案在以后的項(xiàng)目中得到應(yīng)用,這是非常必要的。
4.結(jié)束語(yǔ)
通過(guò)對(duì)使用平臺(tái)創(chuàng)建套件工具進(jìn)行嵌入式Linux應(yīng)用開發(fā)過(guò)程的研究我們可以看出平臺(tái)創(chuàng)建套件工具在Linux內(nèi)核配置,部件之間的依賴關(guān)系的管理和沖突的避免,生成在目標(biāo)板上可運(yùn)行的目標(biāo)文件,調(diào)試目標(biāo)板和導(dǎo)出BSP方面都有非常新穎且可行的處理方式。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論