《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 應用PCS進行嵌入式Linux的研究
應用PCS進行嵌入式Linux的研究
摘要:  嵌入式Linux是一種開放源碼的真正32位的操作系統,并且可以進行裁減和優化,性能穩定,并且支持多任務和軟實時,所以深受開發者的信賴。它支持從IntelX86到MotorolaPowerPC,ARM,CompaqAlpha等多種硬件平臺,并且提供了豐富的軟件資源,具有強大的網絡支持功能,支持GUI開發,并且嵌入式Linux的開發技術資源豐富。如何管理各個應用在系統中無沖突安全地工作?如何把開發的系統快速的轉化為可發布的產品?如何優化和管理嵌入式系統的開發過程,保證在有限的工期之內完成高質量的產品?使用平臺創建套件(PCS)來開發嵌入式Linux應用可以很好地解決這些問題。
Abstract:
Key words :
 

  1.引言

  嵌入式Linux是一種開放源碼的真正32位的操作系統,并且可以進行裁減和優化,性能穩定,并且支持多任務和軟實時,所以深受開發者的信賴。它支持從IntelX86到MotorolaPowerPC,ARM,CompaqAlpha等多種硬件平臺,并且提供了豐富的軟件資源,具有強大的網絡支持功能,支持GUI開發,并且嵌入式Linux的開發技術資源豐富。如何管理各個應用在系統中無沖突安全地工作?如何把開發的系統快速的轉化為可發布的產品?如何優化和管理嵌入式系統的開發過程,保證在有限的工期之內完成高質量的產品?使用平臺創建套件(PCS)來開發嵌入式Linux應用可以很好地解決這些問題。

  2.平臺創建套件介紹

  平臺創建套件(PlatformCreationSuit)是由Metrowerks公司開發的一套專門用于進行嵌入式Linux應用的一套系統,它提供的主要功能有:配置操作系統,開發自己的應用,自動編譯(Build),部署(Deploy),調試(Debug),檢查許可文件,集成新的軟件等等。

  平臺創建套件包含三個主要的組成部分:

  目標向導工具(TargetWizardTools),用來管理,配置,擴展,生成和部署傳統的開放源碼的Linux軟件元素,來全面的支持目標產品的需要。如圖一。目標向導工具提供了擴展基本的Linux環境的功能,它允許集成千萬種可下載的開放源代碼和二進制應用,GNU工具集,新的Linux內核,或者用來提高內核功能的改進的設備支持,安全,實時性能,服務質量(QOS)和網絡等部件。

  CodeWarrior可視化開發環境,用來進行項目管理,創建和生成嵌入式Linux應用軟件。CodeWarrior可視化開發環境是一個非常優秀的可視化開發工具,包括編輯環境,調試環境和項目管理功能,快速開發工具,等等。因為CodeWarrior可視化開發環境已被眾多的嵌入式應用開發人員所熟悉,這里不再詳細介紹。

  板極支持包工具(BoardSupportPackage),包括用來創建,部署和調試操作系統,驅動程序,和針對目標硬件平臺的應用所需要的所有元素,通常一個BSP中包括Linux內核,設備驅動程序,應用和服務,各種類庫,GNU工具集(編譯器,連接器,等等),部署向導等等。

圖一:平臺創建套件

  這張圖是PCS中最常用的模塊:TargetWizard的界面。在TargetWizard中所有的部件都以樹型結構顯示,部件的圖標表明它的狀態,這樣整個系統中各個部件及其狀態都一目了然。開發者可以很方便的對部件進行裁減,只要通過簡單菜單操作來打開(Enable)和關閉(Disable)就可以對系統中的部件進行配置。PCS會自動管理各個部件之間的依賴和沖突關系,這就避免了開發者在研究部件依賴關系和解決部件沖突的時候花費大量的時間。開發者在打開一個部件的時候,如果它所依賴的部件并沒有打開,那么在狀態窗口中會顯示出這個部件的依賴信息,開發者可以根據這些信息逐一地解決。當有沖突的時候,在狀態窗口中會顯示出具體的沖突信息,開發者可以順利地解決問題。在沒有沖突檢測的情況下,開發者可能意識不到沖突的存在,而直到運行的時候才發現沖突的存在,PCS在很大程度上避免了類似問題的發生。

  TargetWizard同時與其它的功能模塊緊密相連,PackageEditor是一個可視化的環境來導入新的驅動程序、應用和庫文件,PCS同時也提供了手動方式來完成這些功能的方法;LinuxKernelImportTool可以用來導入新的Kernel;GNUToolchainImportTool可以用來導入新的toolchain;DebianBinaryImportTool允許開發者下載并導入多種公開發布的DebianGNU/Linux二進制應用程序;ExportBSPtool可以用來導出BSP,是生成BSP的工具;SkeletonDeploymentWizard是可以設置一些通用屬性的部署工具;GDB(GNUDebugger)和DDD(DataDisplayDebugger)是目標鏡像文件已經部署到目標板上的調試工具。

  3.基于平臺創建套件的嵌入式Linux應用的開發過程

  進行嵌入式Linux的開發大致都采用以下的開發過程:

  1.基于功能需求選擇一個目標板(MCG,Force,PC104,PPC,等等)或者根據需求選擇一個處理器(購買一個評估開發板)和外圍芯片,定制目標板。

  2.定制和配置操作系統。

  3.開發定制的應用。

  4.重新配置軟件,進行部署。

  5.維護軟件。

  使用平臺創建套件(PCS)可以加速整個嵌入式系統的開發過程。下面介紹使用平臺創建套件(PCS)進行嵌入式系統開發可以采用的詳細的開發過程。

  •評估硬件和軟件

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

  •安裝PCS和BSP

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

  •為目標板創建一個項目

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

  •軟件包配置

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

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

圖二:軟件包配置

  編譯這個項目

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

  •部署Linuxloader和開發包到板上

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

  •完成新的驅動程序

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

  •開發應用

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

  •重新配置:由開發模式轉換到產品模式

  修改目標板固件:

  支持本地bootload。

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

  去除開發用的遺留部件:

  去除調試工具。

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

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

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

  最終產品測試。

  •部署最終產品,發布產品。

  軟件的部署是一個比較復雜的過程,但是PCS提供了一個非常方便的部署向導,可以在很大的程度上減少部署的工作量。部署的過程包括為目標板生成嵌入式鏡像文件,然后部署到目標板上。在部署之前需要使用PCS提供的交叉編譯環境對所有的軟件包進行編譯。PCS會幫助開發者生成系統的鏡像文件,包括生成文件系統,轉換格式使得鏡像文件可以下載到目標板上。PCS提供了一個擴展性很好的策略,就是開發者可以開發自己的部署向導來完成一些特殊的部署操作,在PCS文檔中有非常詳細的關于這部分功能的介紹。

  •在PCS中導出新的BSP,可以在以后的開發中應用。

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

  4.結束語

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



 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 颤声娇是什么意思| 激情六月在线视频观看| 精品永久久福利一区二区| 欧美牲交a欧美牲交aⅴ图片| 日本欧美一区二区三区在线播放| 92国产精品午夜福利免费| 99视频免费在线观看| 露脸国语对白视频| 欧美精品18videosex性欧美| 扒开双腿猛进入喷水高潮视频| 中文国产成人精品久久水| 一本大道一卡二大卡三卡免费| jizz中国jizz欧洲/日韩在线| 精品国产乱码一区二区三区| 极品丝袜老师h系列全文| 女人十八黄毛片| 国产亚洲精品精品精品| 亚洲成人动漫在线| 一个人看的日本www| 视频二区中文字幕| 欧美中文字幕在线观看| 天天成人综合网| 四虎永久免费网站免费观看| 五月婷婷丁香六月| 91香蕉视频污在线观看| 精品久久久久久中文字幕无码软件| 精品人妻一区二区三区四区在线| 老司机午夜在线视频免费观| 精品免费久久久久久成人影院| 韩剧学生的妈妈| 精品熟人妻一区二区三区四区不卡| 狠狠色综合7777久夜色撩人| 毛片永久新网址首页| 极品性放荡的校花小说| 影院成人区精品一区二区婷婷丽春院影视 | 动漫人物将机机桶机机网站 | 高清在线一区二区| 国产精品无码素人福利不卡| CAOPORN视频在线观看| 张瑶赵敏大学丝袜1-10| 久久久久人妻精品一区蜜桃 |