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

  1.引言

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

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

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

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

  目標(biāo)向?qū)Чぞ?TargetWizardTools),用來管理,配置,擴(kuò)展,生成和部署傳統(tǒng)的開放源碼的Linux軟件元素,來全面的支持目標(biāo)產(chǎn)品的需要。如圖一。目標(biāo)向?qū)Чぞ咛峁┝藬U(kuò)展基本的Linux環(huán)境的功能,它允許集成千萬種可下載的開放源代碼和二進(jìn)制應(yīng)用,GNU工具集,新的Linux內(nèi)核,或者用來提高內(nèi)核功能的改進(jìn)的設(shè)備支持,安全,實時性能,服務(wù)質(zhì)量(QOS)和網(wǎng)絡(luò)等部件。

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

  板極支持包工具(BoardSupportPackage),包括用來創(chuàng)建,部署和調(diào)試操作系統(tǒng),驅(qū)動程序,和針對目標(biāo)硬件平臺的應(yīng)用所需要的所有元素,通常一個BSP中包括Linux內(nèi)核,設(shè)備驅(qū)動程序,應(yīng)用和服務(wù),各種類庫,GNU工具集(編譯器,連接器,等等),部署向?qū)У鹊取?/p>

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

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

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

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

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

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

  2.定制和配置操作系統(tǒng)。

  3.開發(fā)定制的應(yīng)用。

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

  5.維護(hù)軟件。

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

  •評估硬件和軟件

  根據(jù)功能需求購買評估目標(biāo)板或定制目標(biāo)板,并準(zhǔn)備開始進(jìn)行自己的設(shè)計。

  •安裝PCS和BSP

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

  •為目標(biāo)板創(chuàng)建一個項目

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

  •軟件包配置

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

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

圖二:軟件包配置

  編譯這個項目

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

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

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

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

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

  •開發(fā)應(yīng)用

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

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

  修改目標(biāo)板固件:

  支持本地bootload。

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

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

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

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

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

  為啟動特殊的應(yīng)用而改變啟動過程。

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

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

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

  •在PCS中導(dǎo)出新的BSP,可以在以后的開發(fā)中應(yīng)用。

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

  4.結(jié)束語

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



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品国产免费| 欧美日韩 国产精品| 亚洲狼人精品一区二区三区| 欧美一区午夜视频在线观看| 亚洲在线播放| 亚洲午夜电影在线观看| 亚洲欧洲久久| 亚洲国产精品尤物yw在线观看| 国产专区精品视频| 国产一二三精品| 国产日韩欧美在线看| 国产精品亚洲欧美| 国产九九精品视频| 国产久一道中文一区| 国产乱码精品一区二区三区不卡| 国产精品久久久对白| 国产精品高潮呻吟久久av无限| 欧美午夜视频网站| 国产精品嫩草99av在线| 国产精品人人做人人爽| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品免费小视频| 国产精品试看| 国产午夜精品理论片a级大结局| 国产精品一区免费观看| 国产片一区二区| 国产一区在线看| 精品动漫一区| 在线精品视频在线观看高清| 亚洲国产成人久久综合| 亚洲激情一区| 亚洲免费成人av| 在线亚洲国产精品网站| 亚洲综合色丁香婷婷六月图片| 亚洲欧美视频| 久久精品视频在线| 亚洲精品国产系列| 一本一道久久综合狠狠老精东影业| 亚洲永久精品大片| 久久疯狂做爰流白浆xx| 久久久天天操| 免费人成精品欧美精品| 欧美老女人xx| 国产精品嫩草久久久久| 国产在线高清精品| 亚洲国产精品久久久久久女王| 日韩视频永久免费| 亚洲综合视频一区| 91久久精品国产91久久性色tv| 一本色道久久综合狠狠躁篇的优点| 亚洲自拍都市欧美小说| 欧美中文在线免费| 欧美成人中文字幕| 国产精品久久久久久亚洲调教| 国产一在线精品一区在线观看| 91久久久精品| 亚洲欧美变态国产另类| 亚洲国产经典视频| 亚洲视频1区| 久久久久成人精品| 欧美剧在线免费观看网站| 国产欧美日韩精品在线| 在线观看成人网| 亚洲视频高清| 亚洲欧洲另类国产综合| 亚洲综合日韩在线| 欧美超级免费视 在线| 国产精品99免视看9| 国精产品99永久一区一区| 日韩午夜电影| 久久爱91午夜羞羞| 亚洲视频精品在线| 每日更新成人在线视频| 国产精品美女久久久久久2018 | 性做久久久久久久免费看| 免费欧美高清视频| 国产欧美日韩在线观看| 亚洲精品一区二区三区在线观看| 欧美在线地址| 午夜国产精品视频| 欧美日本二区| 在线观看日韩精品| 午夜久久美女| 中国亚洲黄色| 欧美成人一区二区在线| 国产在线拍揄自揄视频不卡99| 一区二区成人精品| 亚洲精品美女在线观看播放| 久久久国产精品一区二区中文 | 亚洲一区二区三区精品视频 | 久久久夜色精品亚洲| 国产精品久久久久毛片软件| 亚洲黄色av一区| 久久不射网站| 欧美一区影院| 国产精品扒开腿爽爽爽视频| 亚洲国产精品毛片| 欧美淫片网站| 欧美主播一区二区三区美女 久久精品人| 欧美日本在线播放| 最新日韩中文字幕| 亚洲人成在线观看网站高清| 久久久亚洲精品一区二区三区| 国产日韩精品久久| 亚洲——在线| 亚洲欧美日韩专区| 国产精品电影在线观看| av不卡在线观看| 夜夜嗨一区二区| 欧美激情中文字幕乱码免费| 亚洲国产1区| 亚洲啪啪91| 免费精品99久久国产综合精品| 狠狠久久五月精品中文字幕| 欧美在线观看视频| 久久高清国产| 国产视频一区在线观看| 亚洲欧美综合一区| 久久不射电影网| 国产亚洲成av人片在线观看桃| 亚洲欧美日韩精品在线| 欧美亚洲日本一区| 国产精品一区二区久久久| 亚洲五月六月| 午夜一区二区三视频在线观看| 国产精品久久久99| 亚洲男女自偷自拍图片另类| 性18欧美另类| 国产欧美精品一区aⅴ影院| 亚洲欧美激情诱惑| 久久精品免费观看| 黄色成人精品网站| 亚洲欧洲一区二区在线播放| 欧美国产丝袜视频| 日韩视频精品| 亚洲欧美一区二区在线观看| 国产欧美精品va在线观看| 欧美一级视频免费在线观看| 久久九九国产精品| 影音先锋久久资源网| 99精品99久久久久久宅男| 欧美日韩综合另类| 亚洲中字在线| 久久全国免费视频| 亚洲黄色成人久久久| 亚洲午夜精品在线| 国产精品影片在线观看| 久久动漫亚洲| 欧美激情国产高清| 一区二区三区欧美亚洲| 欧美在线观看网站| 悠悠资源网久久精品| 野花国产精品入口| 国产精品一二| 亚洲国产中文字幕在线观看| 欧美日本精品一区二区三区| 在线亚洲精品福利网址导航| 久久大逼视频| 亚洲狠狠婷婷| 先锋影音久久久| 影音先锋日韩精品| 亚洲午夜电影网| 国产一区二区久久| 日韩视频在线观看| 国产精品乱子乱xxxx| 亚洲电影专区| 欧美无乱码久久久免费午夜一区| 午夜精品久久久久久| 欧美成年视频| 中文高清一区| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲日本成人在线观看| 欧美一区二区三区免费看| 亚洲高清不卡av| 午夜在线视频一区二区区别| 136国产福利精品导航| 亚洲午夜免费福利视频| 国产最新精品精品你懂的| 在线一区观看| 狠狠久久五月精品中文字幕| 亚洲午夜在线视频| 国产一区二区福利| 亚洲一区二区三区涩| 一区二区三区在线视频播放| 亚洲性线免费观看视频成熟| 韩日视频一区| 亚洲欧美在线观看| 亚洲国产欧美一区| 久久精品国产久精国产一老狼| 亚洲美女视频在线观看| 久久影音先锋| 亚洲一区www| 欧美精品在线免费播放| 午夜欧美大片免费观看| 欧美日韩亚洲一区二区三区四区| 亚洲第一在线视频| 国产伦一区二区三区色一情| 9色国产精品| 在线电影国产精品| 久久狠狠婷婷|