新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 應用c進行嵌入式Linux的研究

        應用c進行嵌入式Linux的研究

        作者: 時間:2013-10-24 來源:網(wǎng)絡 收藏

          ?評估硬件和軟件

          根據(jù)功能需求購買評估目標板或定制目標板,并準備開始進行自己的設計。

          ?安裝和BSP

          現(xiàn)在最新的版本是3.0,它可以運行在很多主流X86平臺上,其中包括RedHat9.0,RedHat8.0,SuSe8.2,SuSe8.1,Debian3.0。Metrowerks提供了很多種平臺的參考BSP(BoardSupportPackage,板極支持包),包括X86,MotorolaPowerPC,MIPS,ToshibaTx,ARM,ColdFire,HitachiSH等多個系統(tǒng)的BSP。

          ?為目標板創(chuàng)建一個項目

          基于BSP創(chuàng)建一個新的項目。有一套非常優(yōu)秀的BSP管理系統(tǒng),幫助開發(fā)者在同一個開發(fā)環(huán)境里同時存在互相不干擾的不同的目標板項目,每個不同的BSP中包含不同的內(nèi)核和工具鏈,為項目提供交叉編譯環(huán)境。PCS提供了一套界面非常友好的項目創(chuàng)建項目向?qū)В瑤椭_發(fā)者選定BSP和進行項目設置。選擇已經(jīng)存在的配置狀態(tài)文件,或者使用默認的配置狀態(tài)文件。不同的配置狀態(tài)文件可以保證開發(fā)者在同一個項目中有不同的配置,這樣用戶可以很方便的不同的配置中切換,而不用重新進行配置。下一步是進行內(nèi)核裁減配置。大多數(shù)BSP已經(jīng)提供了一個默認的內(nèi)核配置,可是根據(jù)功能需求的不同開發(fā)者經(jīng)常需要自己進行內(nèi)核的裁減工作。在PCS中進行內(nèi)核的裁減是相對簡單的多的事情,開發(fā)者不需要使用繁瑣的文本菜單進行配置和手動編譯內(nèi)核。

          ?軟件包配置

          PCS中包含了幾十個通用的常用軟件包,避免了開發(fā)者到處尋找的煩惱。用戶可以通過PCS自帶的PackageEditor工具導入自己需要的軟件包。開發(fā)者可以在PCS中進行軟件包的配置,例如打開guilibrary,關閉webserver等工作都可以輕松完成。

          在PCS中進行軟件包的配置是非常簡單的,只需要在軟件包的上下文菜單中選擇即可。

        圖二:軟件包配置

          編譯這個項目

          PCS允許開發(fā)者按照自己的期望來對部件進行編譯。開發(fā)者可以只編譯那些上次編譯之后重新配置的部件,也可以強制編譯項目所包含的全部的部件,不管是否已經(jīng)編譯過。

          ?部署Linuxloader和開發(fā)包到板上

          對于已經(jīng)存在的SBC,應該已經(jīng)提供了這些軟件包。對于定制的目標板還需要做下面的工作:用于目標板的bootload固件,板上bring-up,遠程bootload等。這樣就完成了開發(fā)模式下最小板上環(huán)境。

          ?完成新的驅(qū)動程序

          如果功能需求需要的話,開發(fā)者要完成為目標板的特定硬件驅(qū)動程序。

          ?開發(fā)應用

          開發(fā)者開發(fā)運行在目標板上的應用,開發(fā)者可以使用隨同PCS一同發(fā)布的CodewarriorIDE進行應用的開發(fā)和調(diào)試。

          ?重新配置:由開發(fā)模式轉(zhuǎn)換到產(chǎn)品模式

          修改目標板固件:

          支持本地bootload。

          支持本地根文件系統(tǒng),通常將根文件設置為只讀模式。

          去除開發(fā)用的遺留部件:

          去除調(diào)試工具。

          去除用于方便開發(fā)而導入的無用部件。

          去除無用的類庫,只保留需要的那部分。

          為啟動特殊的應用而改變啟動過程。

          最終產(chǎn)品測試。

          ?部署最終產(chǎn)品,發(fā)布產(chǎn)品。

          軟件的部署是一個比較復雜的過程,但是PCS提供了一個非常方便的部署向?qū)В梢栽诤艽蟮某潭壬蠝p少部署的工作量。部署的過程包括為目標板生成嵌入式鏡像文件,然后部署到目標板上。在部署之前需要使用PCS提供的交叉編譯環(huán)境對所有的軟件包進行編譯。PCS會幫助開發(fā)者生成系統(tǒng)的鏡像文件,包括生成文件系統(tǒng),轉(zhuǎn)換格式使得鏡像文件可以下載到目標板上。PCS提供了一個擴展性很好的策略,就是開發(fā)者可以開發(fā)自己的部署向?qū)硗瓿梢恍┨厥獾牟渴鸩僮鳎赑CS文檔中有非常詳細的關于這部分功能的介紹。

          ?在PCS中導出新的BSP,可以在以后的開發(fā)中應用。

          PCS提供了一套圖形化的導出BSP的工具,用戶在圖形界面上進行簡單的設置之后就可以導出的BSP以便在以后的開發(fā)中使用。大多數(shù)的項目是在一個已經(jīng)存在的BSP的基礎上創(chuàng)建的,導出的BSP可以讓很多成果和解決方案在以后的項目中得到應用,這是非常必要的。

          4.結束語

          通過對使用平臺創(chuàng)建套件工具進行嵌入式Linux應用開發(fā)過程的研究我們可以看出平臺創(chuàng)建套件工具在Linux內(nèi)核配置,部件之間的依賴關系的管理和沖突的避免,生成在目標板上可運行的目標文件,調(diào)試目標板和導出BSP方面都有非常新穎且可行的處理方式。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 金寨县| 依兰县| 原平市| 琼海市| 古田县| 蓬溪县| 临西县| 鲁甸县| 杭锦后旗| 天柱县| 阿坝| 徐水县| 镶黄旗| 阿巴嘎旗| 东安县| 会泽县| 泸水县| 巴塘县| 封开县| 常山县| 彩票| 滦平县| 三都| 桃江县| 将乐县| 临夏市| 旺苍县| 涿州市| 陆河县| 凤城市| 会同县| 新竹市| 辽宁省| 长丰县| 洛扎县| 邢台县| 黄浦区| 枝江市| 临朐县| 龙川县| 凌云县|