<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 應用PCS進(jìn)行嵌入式Linux的研究

應用PCS進(jìn)行嵌入式Linux的研究

作者: 時(shí)間:2011-08-18 來(lái)源:網(wǎng)絡(luò ) 收藏

1.引言

本文引用地址:http://dyxdggzs.com/article/150326.htm

  是一種開(kāi)放源碼的真正32位的操作系統,并且可以裁減和優(yōu)化,性能穩定,并且支持多任務(wù)和軟實(shí)時(shí),所以深受開(kāi)發(fā)者的信賴(lài)。它支持從Intel X86到Motorola Power PC,ARM,Compaq Alpha等多種硬件平臺,并且提供了豐富的軟件資源,具有強大的網(wǎng)絡(luò )支持功能,支持GUI開(kāi)發(fā),并且的開(kāi)發(fā)技術(shù)資源豐富。如何管理各個(gè)在系統中無(wú)沖突安全地工作?如何把開(kāi)發(fā)的系統快速的轉化為可發(fā)布的產(chǎn)品?如何優(yōu)化和管理系統的開(kāi)發(fā)過(guò)程,保證在有限的工期之內完成高質(zhì)量的產(chǎn)品?使用平臺創(chuàng )建套件()來(lái)開(kāi)發(fā)嵌入式可以很好地解決這些問(wèn)題。

  2.平臺創(chuàng )建套件介紹

  平臺創(chuàng )建套件(Platform Creation Suit)是由Metrowerks公司開(kāi)發(fā)的一套專(zhuān)門(mén)用于嵌入式Linux的一套系統,它提供的主要功能有:配置操作系統,開(kāi)發(fā)自己的應用,自動(dòng)編譯(Build) ,部署(Deploy),調試(Debug), 檢查許可文件,集成新的軟件等等。

  平臺創(chuàng )建套件包含三個(gè)主要的組成部分:

  目標向導工具(Target Wizard Tools),用來(lái)管理,配置,擴展,生成和部署傳統的開(kāi)放源碼的Linux軟件元素,來(lái)全面的支持目標產(chǎn)品的需要。如圖一。目標向導工具提供了擴展基本的Linux環(huán)境的功能,它允許集成千萬(wàn)種可下載的開(kāi)放源代碼和二進(jìn)制應用,GNU工具集, 新的Linux內核,或者用來(lái)提高內核功能的改進(jìn)的設備支持,安全,實(shí)時(shí)性能,服務(wù)質(zhì)量(QOS)和網(wǎng)絡(luò )等部件。

  CodeWarrior可視化開(kāi)發(fā)環(huán)境,用來(lái)項目管理,創(chuàng )建和生成嵌入式Linux應用軟件。CodeWarrior可視化開(kāi)發(fā)環(huán)境是一個(gè)非常優(yōu)秀的可視化開(kāi)發(fā)工具,包括編輯環(huán)境,調試環(huán)境和項目管理功能,快速開(kāi)發(fā)工具,等等。因為CodeWarrior可視化開(kāi)發(fā)環(huán)境已被眾多的嵌入式應用開(kāi)發(fā)人員所熟悉,這里不再詳細介紹。

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

  圖一: 平臺創(chuàng )建套件

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

  Target Wizard同時(shí)與其它的功能模塊緊密相連,Package Editor 是一個(gè)可視化的環(huán)境來(lái)導入新的驅動(dòng)程序、應用和庫文件,PCS同時(shí)也提供了手動(dòng)方式來(lái)完成這些功能的方法;Linux Kernel Import Tool可以用來(lái)導入新的Kernel ;GNU Toolchain Import Tool可以用來(lái)導入新的toolchain; Debian Binary Import Tool 允許開(kāi)發(fā)者下載并導入多種公開(kāi)發(fā)布的Debian GNU/Linux 二進(jìn)制應用程序;Export BSP tool可以用來(lái)導出BSP,是生成BSP的工具;Skeleton Deployment Wizard 是可以設置一些通用屬性的部署工具;GDB(GNU Debugger)和DDD(Data Display Debugger)是目標鏡像文件已經(jīng)部署到目標板上的調試工具。

  3.基于平臺創(chuàng )建套件的嵌入式Linux應用的開(kāi)發(fā)過(guò)程

  進(jìn)行嵌入式Linux的開(kāi)發(fā)大致都采用以下的開(kāi)發(fā)過(guò)程:

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

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

  3. 開(kāi)發(fā)定制的應用。

  4. 重新配置軟件,進(jìn)行部署。

  5. 維護軟件。

  使用平臺創(chuàng )建套件(PCS)可以加速整個(gè)嵌入式系統的開(kāi)發(fā)過(guò)程。下面介紹使用平臺創(chuàng )建套件(PCS)進(jìn)行嵌入式系統開(kāi)發(fā)可以采用的詳細的開(kāi)發(fā)過(guò)程。

  • 評估硬件和軟件

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

  • 安裝PCS和BSP

  現在最新的PCS版本是3.0,它可以運行在很多主流X86 Linux平臺上,其中包括RedHat 9.0,RedHat 8.0,SuSe 8.2,SuSe 8.1,Debian 3.0。Metrowerks提供了很多種平臺的參考BSP(Board Support Package,板極支持包) ,包括X86, Motorola PowerPC , MIPS,Toshiba Tx,ARM,ColdFire,Hitachi SH等多個(gè)系統的BSP。

  • 為目標板創(chuàng )建一個(gè)項目

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

  • 軟件包配置

  PCS中包含了幾十個(gè)通用的常用軟件包,避免了開(kāi)發(fā)者到處尋找的煩惱。用戶(hù)可以通過(guò)PCS自帶的Package Editor工具導入自己需要的軟件包。開(kāi)發(fā)者可以在PCS中進(jìn)行軟件包的配置,例如打開(kāi)gui library, 關(guān)閉web server 等工作都可以輕松完成。

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

  圖二: 軟件包配置

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>