亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        eCos在XScale IOP348上的移植*

        2010-08-11 05:27:34滕至陽(yáng)苗元亮
        艦船電子工程 2010年7期
        關(guān)鍵詞:嵌入式系統(tǒng)

        盧 飛 滕至陽(yáng) 苗元亮

        (東南大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 南京 210000)

        1 引言

        嵌入式實(shí)時(shí)操作系統(tǒng)的使用,可以增強(qiáng)系統(tǒng)性能,確保系統(tǒng)的穩(wěn)定性和可靠性,便于開發(fā)和維護(hù)應(yīng)用程序,因此越來(lái)越廣泛的被應(yīng)用于各種嵌入式系統(tǒng)。eCos(Embedded Configurable Operating System)是一種開源的、免版稅的、實(shí)時(shí)的嵌入式操作系統(tǒng),適合于深度嵌入式應(yīng)用。與其它嵌入式實(shí)時(shí)操作系統(tǒng)不同,eCos具有獨(dú)特的可配置能力和配置機(jī)制。同時(shí)eCos具有良好的開放性、兼容性、穩(wěn)定性、可擴(kuò)展性和可移植性,而且支持ARM、MIPs、M68K 、PowerPC 、ColdFire、v850、x86 等眾多微處理器[1]。因此eCos日益受到嵌入式設(shè)計(jì)人員的關(guān)注,正在越來(lái)越多應(yīng)用于嵌入式產(chǎn)品中。

        IOP348是intel公司的一款基于XScale的io處理器,集成了雙核XScale處理器,最高頻率達(dá)到了1.2GHz,同時(shí)支持PCI-X和PCI-E(最高支持到PCI-E x8),還集成了 8個(gè) SAS 3Gb/s接口[8~9]。目前主要應(yīng)用在RAID控制卡,iSCSI控制器等數(shù)據(jù)存儲(chǔ)設(shè)備中。本文利用eCos的可配置性,分析eCos移植過(guò)程中的一般步驟,將eCos應(yīng)用到基于IOP348的開發(fā)板iq81348上。

        2 eCos體系結(jié)構(gòu)及特點(diǎn)

        eCos使用多任務(wù)搶占機(jī)制,具有中斷延遲小,支持同優(yōu)先級(jí)調(diào)度,支持嵌入式系統(tǒng)所需的所有同步原語(yǔ),擁有靈活的調(diào)度策略(包括 bitmap和Multi-level queue)和中斷處理機(jī)制。eCos提供了完備的嵌入式開發(fā)功能,包括設(shè)備驅(qū)動(dòng)程序、內(nèi)存管理、例外處理、標(biāo)準(zhǔn)庫(kù)函數(shù)、基本的文件系統(tǒng)、網(wǎng)絡(luò)棧等。

        eCos采用模塊化的設(shè)計(jì),將不同功能的軟件分為不同的組件,這些組件具有可重用性,分別位于系統(tǒng)的不同層次,這種分層結(jié)構(gòu)使eCos具有良好的可配置性、可移植性、可兼容性和可擴(kuò)展性。eCos的層次結(jié)構(gòu)如圖l所示。

        圖 1 eCos層次結(jié)構(gòu)

        在ecos體系中最底層的是硬件抽象層HAL(Hardware Abstraction Level),它負(fù)責(zé)對(duì)目標(biāo)系統(tǒng)硬件平臺(tái)進(jìn)行操作和控制,包括硬件初始化,中斷和異常的處理。HAL屏蔽了底層硬件的差異,為上層提供統(tǒng)一的接口。在進(jìn)行eCos的移植中,關(guān)鍵要對(duì)HAL進(jìn)行修改,即可將整個(gè)ecos系統(tǒng)移植到新的硬件平臺(tái)上。HAL根據(jù)所描述的硬件對(duì)象的不同可以分為體系結(jié)構(gòu)抽象層(Architecture HAL)、變體抽象層(Variant HAL)與平臺(tái)抽象層(Platform HAL),因此HAL的移植就可以分為三種不同的類型:體系結(jié)構(gòu)抽象層移植,變體抽象層移植和平臺(tái)抽象層移植[2,4~5]。

        體系結(jié)構(gòu)抽象層移植針對(duì)的是HAL的體系結(jié)構(gòu)層。eCos支持的每種處理器系列都被看成是一種不同的體系結(jié)構(gòu)。在/eCOS/packages/hal目錄下每一種體系結(jié)構(gòu)都有對(duì)應(yīng)的子目錄,例如/eCOS/packages/hal/arm對(duì)應(yīng)于ARM體系結(jié)構(gòu)。每個(gè)子目錄中包含了用于支持特定處理器的平臺(tái)抽象層和變體抽象層子目錄,例如/eCOS/packages/hal/arm目錄下包含e7t子目錄與lpc2xxx子目錄,e7t包含的代碼用于支持arm e7t這個(gè)平臺(tái)的初始化,lpc2xxx包含的代碼用于支持LPC2000處理器系列的不同變體(包括 lpc2106,lpc2100等)。體系抽象層移植可以選擇相近的HAL作為模板。

        變體抽象層移植針對(duì)的是HAL的變體層,該子層可支持特定CPU與同類體系結(jié)構(gòu)的普通CPU之間的差異。變體抽象層移植通過(guò)對(duì)中斷、高速緩存及其他特性的重定義來(lái)覆蓋體系結(jié)構(gòu)抽象層中的默認(rèn)實(shí)現(xiàn)。

        平臺(tái)抽象層移植針對(duì)的是HAL平臺(tái)層,該子層次對(duì)應(yīng)于一系列的硬件,包括選擇的處理器或其變體。平臺(tái)抽象層移植時(shí)可采用eCos支持的且與新硬件平臺(tái)相近的平臺(tái)HAL作為模板,對(duì)內(nèi)存布局等初始化代碼進(jìn)行修改。

        硬件抽象層的這3個(gè)子模塊之間沒有很明顯的界限。對(duì)于不同的目標(biāo)平臺(tái),這種區(qū)分具有一定的模糊性。一般來(lái)說(shuō),目標(biāo)系統(tǒng)應(yīng)該將體系結(jié)構(gòu)抽象層、變體抽象層和平臺(tái)抽象層分別使用不同的包來(lái)加以實(shí)現(xiàn)。

        eCos的這種分層結(jié)構(gòu)使整個(gè)軟件結(jié)構(gòu)清晰,有良好的可維護(hù)性和可移植性。

        3 iq81348硬件平臺(tái)

        硬件平臺(tái)以IOP348處理器為核心,外部器件包括8MB NOR Flash(StrataFlash·28F640J3C120B)、512MB DDRII內(nèi)存 、10針 JTAG 接口、82545GM 千兆以太網(wǎng)卡芯片、Rs232串口、PCI-E slot、PCI-X edge等。圖2是硬件平臺(tái)的結(jié)構(gòu)框圖[8]。

        本文以此硬件平臺(tái)為基礎(chǔ),介紹eCos的移植工作。

        圖2 IOP348硬件平臺(tái)框圖

        4 eCos移植及在IOP348上的應(yīng)用

        4.1 宿主機(jī)環(huán)境搭建

        本文所涉及的eCos移植是在Windows XP環(huán)境下實(shí)現(xiàn)的,需要用到Cygwin、GNU本地開發(fā)工具、ARM平臺(tái)交叉開發(fā)工具以及eCos配置工具[3]。本文使用了Macraigor公司提供cygwin環(huán)境和xscale toolchain安裝包。

        4.2 IOP348變體抽象層與平臺(tái)抽象層的移植

        Intel IOP348是基于Xscale架構(gòu)的一款CPU,其體系結(jié)構(gòu)抽象層對(duì)應(yīng)于XScale,在eCos中已經(jīng)有相關(guān)移植,所以eCos在IOP348上的移植主要包括變體抽象層和平臺(tái)抽象層的移植。

        IOP348隸屬 Intel IOP34X系列,與之前的IOP310系列相似,可以把IOP310的HAL作為模板,實(shí)現(xiàn)變體抽象層的移植。

        首先在 hal/arm/xscale/目錄下新建文件夾IOP34X,然后按照hal/arm/xscale/IOP310目錄下的文件結(jié)構(gòu)創(chuàng)建文件,文件名對(duì)應(yīng)IOP348。具體如下:

        1)創(chuàng)建配置描述文件 hal_arm_xscale_iop34x.cdl,使其對(duì)IOP34X系列CPU所有組件特性進(jìn)行登記。修改內(nèi)容主要包括:cdl_package命令,主要用來(lái)在eCos.db文件中加入新平臺(tái)相應(yīng)的包,改變新加入的包在eCos配置工具中的描述和定義,同時(shí)改變包編譯時(shí)依賴的文件;cdl_component命令,它用來(lái)調(diào)整啟動(dòng)模式和時(shí)鐘設(shè)置;cdl_option命令,主要用來(lái)調(diào)整其他設(shè)置選項(xiàng)。

        2)創(chuàng)建文件hal_iop34x.h。這個(gè)文件中主要是定義CPU相關(guān)寄存器地址[8~9]及一些基礎(chǔ)宏操作,包括移位操作、寄存器讀寫等。根據(jù)IOP34X系列CPU設(shè)置即可。

        3)創(chuàng)建文件hal_var_ints.h。這個(gè)文件中主要是定義CPU的中斷編號(hào)以及中斷相關(guān)的常量,例如中斷ISR個(gè)數(shù)等[6~7,9]。

        4)var_io.h文件主要是針對(duì)pci設(shè)備的讀寫操作,提供pci設(shè)備讀寫的函數(shù)接口以及部分底層pci操作的宏定義實(shí)現(xiàn)。這部分內(nèi)容也可以直接放到平臺(tái)抽象層處理。

        5)創(chuàng)建文件iop34x_misc.c和iop34x_pci.c。iop34x_misc.c文件主要是硬件初始化函數(shù)及部分硬件初始化宏定義。iop34x_pci.c文件主要是針對(duì)pci設(shè)備的操作,由于IOP34X系列使用了PCIX和PCI-E,需要對(duì)cyg_hal_plf_pci_init函數(shù)進(jìn)行較大的改動(dòng)[9]。

        變體抽象層到此就完成了。平臺(tái)抽象測(cè)移植與變體抽象層類似,可以以平臺(tái)iq80310作為模板移植,根據(jù)外圍芯片不同更改相應(yīng)的驅(qū)動(dòng)程序。在平臺(tái)抽象層移植過(guò)程中需要注意以下兩點(diǎn):

        1)由于 iq81348支持 SAS控制器,需要在NOR Flash中預(yù)留出前2MB空間作為SAS Firmware,因此需要修改eCos的啟動(dòng)方式,使用ROMRAM方式(即把 eCos鏡像從 Flash中拷貝到RAM中運(yùn)行),同時(shí)留出2MB的偏移量。

        2)FLASH起始地址是0xF0000000,大小為0x00800000,SDRAM 起始地址為0x00000000,大小為0x20000000,在內(nèi)存布局配置文件mlt_arm_xscale_iq8134x_romram.h和mlt_arm_xscale_iq8134x_romram.ldi文件中需要手動(dòng)修改,并且需要考慮偏移量的問(wèn)題。

        最后需要對(duì)eCos.db文件進(jìn)行更新,加入移植內(nèi)容。圖3是配置工具中加入iq81348成功后的模板選擇界面,圖4是加載iq81348成功后的eCos配置界面。

        圖3 eCos配置工具中iq81348的模板

        圖4 加載iq81348后eCos配置工具界面

        4.3 生成新平臺(tái)的eCos鏡像及應(yīng)用程序

        在完成上述文件的修改以后,可以使用eCos的配置工具重新進(jìn)行配置,選擇需要的packages,執(zhí)行build命令完成eCos鏡像的編譯,生成內(nèi)核庫(kù)文件,鏈接腳本以及頭文件。

        5 結(jié)語(yǔ)

        嵌入式可配置操作系統(tǒng)eCos與其他嵌入式實(shí)時(shí)操作系統(tǒng)相比,有著更好的可配置性和可移植性,這使eCos在嵌入式系統(tǒng)的應(yīng)用日益廣泛。本文將eCos成功的應(yīng)用在IOP348為核心的硬件平臺(tái)上,提供了eCos移植的具體步驟,對(duì)IOP34X系列的其他平臺(tái)移植也有借鑒意義,同時(shí)也為iq81348的后續(xù)開發(fā)提供了一個(gè)良好的平臺(tái)。

        [1]eCosCentric Ltd.eCos Referance Manual[EB/OL].http://ecos.sourceware.org/docs-latest/pdf/ecos-ref.pdf,2003

        [2]蔣句平.嵌入式可配置實(shí)時(shí)操作系統(tǒng)eCos開發(fā)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2004

        [3]Anon.Building a Tool Chain for Use with eCos[EB/OL].http://ecos.sourceware.org,2007

        [4]周永紅,于玲玲.如何構(gòu)建eCos嵌入式系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005(11):79~81

        [5]王京起,黃健,沈中杰,等.嵌入式可配置實(shí)時(shí)操作系統(tǒng)eCos技術(shù)及實(shí)現(xiàn)機(jī)制[M].北京:電子工業(yè)出版社,2005

        [6]Intel Ltd.3rd Generation Intel Xscale Microarchitecture Developer's Manual[EB/OL].http://download.intel.com/design/intelxscale/31628302.Pdf,2007

        [7]Intel Ltd.Intel XScale·Core Developer's Manual[EB/OL].http://download.intel.com/design/intelxscale/27347302.Pdf,2004

        [8]Intel Ltd.Intel·81348 I/O Processor Design Guide[EB/OL].http://download.intel.com/design/iio/docs/31505302.Pdf,2007

        [9]Intel Ltd.Intel·81348 I/O Processor Developer's Manual[EB/OL].http://download.intel.com/design/iio/docs/31503602.pdf,2007

        猜你喜歡
        嵌入式系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        亚洲国产日韩a在线乱码| 日本高清一区二区三区视频| 青青草在线公开免费视频| 亚洲中文字幕人妻久久| 亚洲色欲色欲大片www无码| 国产天堂在线观看| 日韩精品一区二区三区中文9| 精品亚洲一区中文字幕精品| 亚洲日韩激情无码一区| 欧美性大战久久久久久久| 亚洲中文一本无码AV在线无码| 男女啪啪啪的高清视频| 少妇伦子伦情品无吗| 男人边吃奶边做好爽免费视频 | 国产亚洲精品久久777777| 狠狠躁夜夜躁AV网站中文字幕| 狼人狠狠干首页综合网| 白白色白白色视频发布| 88久久精品无码一区二区毛片| 9久久精品视香蕉蕉| 91精品蜜桃熟女一区二区| 成年美女黄的视频网站| 亚洲色欲久久久久综合网 | 97人妻熟女成人免费视频| 日韩肥熟妇无码一区二区三区| 亚洲成年国产一区二区| 激烈的性高湖波多野结衣| 国产成人影院一区二区| 日本黑人人妻一区二区水多多| 亚洲国产精品美女久久| 摸进她的内裤里疯狂揉她动视频| 丁香六月久久| 亚洲一区二区三区在线看| 亚洲精品v欧洲精品v日韩精品| 欧美精品黄页在线观看视频| 日本在线播放不卡免费一区二区 | 在线视频精品免费| 中文字幕 在线一区二区| 全免费a级毛片免费看无码| 亚洲欧洲巨乳清纯| 国产高清女人对白av在在线|