<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è) > 嵌入式系統 > 設計應用 > 基于eCos在基于A(yíng)RM7硬件平臺上的應用

基于eCos在基于A(yíng)RM7硬件平臺上的應用

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

摘要:簡(jiǎn)單介紹的體系結構,詳細論述的可配置機制的實(shí)現原理,重點(diǎn)介紹在以AT91M55800為核心的上的移植步驟,結合本系統簡(jiǎn)要介紹內核的配置方法。最后給出了eCos軟件的編寫(xiě)方法。

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

  eCos(Embedded Configurable Operating System)最初是由Cygnus Solutions公司為面向嵌入式領(lǐng)域而開(kāi)發(fā)的源碼公開(kāi)、具有很強的可移植性和可配置性的,適合于深度嵌入式開(kāi)發(fā)的實(shí)時(shí)操作系統?,F在eCos主要由eCosCentric公司和eCos開(kāi)源社區共同開(kāi)發(fā)維護。eCos的特性,特別是它的可配置性,能有效縮短嵌入式產(chǎn)品的開(kāi)發(fā)周期并降低成本。

  1 eCos的體系結構及可配置性

  1.1 eCos體系結構

  eCos采用模塊化設計,將不同功能的軟件分成不同的組件,使其分別位于系統的不同層次。這種層次結構實(shí)現了eCos的可配置性、可移植性、兼容性和可擴展性。圖1是eCos系統的層次結構框圖。抽象層(HAL)使其上層次結構不必關(guān)心具體的結構,因此只需對HAL進(jìn)行修改就可以使整個(gè)eCos的移植到新的硬件上。

  圖1 eCos的層次結構框圖

  內核是eCos的一個(gè)核心組件,也是系統的一個(gè)可選組件,一些較為復雜的需要內核的支持。內核提供了多個(gè)可供選擇的調度算法,可以很好地支持多任務(wù)處理。eCos內核提供了一組豐富的同步源語(yǔ),完全能滿(mǎn)足各種嵌入式應用的需求。內核還負責對中斷和例外進(jìn)行處理,它的中斷滯后處理機制保證了系統的實(shí)時(shí)性。此外,內核還具有內存分配機制和定時(shí)機制,并提供多線(xiàn)程GDB調試支持。內核為上層軟件和應用軟件提供了豐富的API接口函數。

  RedBoot是一個(gè)無(wú)內核的系統引導程序,是eCos的一個(gè)特殊應用。RedBoot可以加載eCos應用程序,并提供Debug支持,是開(kāi)發(fā)eCos系統時(shí)非常有用的工具。設備驅動(dòng)程序負責對硬件設備進(jìn)行控制和管理,并完成設備數據的讀/寫(xiě)操作。設備驅動(dòng)程序自身也采用層次結構,上層驅動(dòng)程序(相當于一個(gè)虛設備)可以調用下層驅動(dòng)程序(物理設備)。驅動(dòng)程序為上層軟件提供標準的API函數,應用程序可以使用這些API函數對設備進(jìn)行訪(fǎng)問(wèn)。

  eCos包含的網(wǎng)絡(luò )支持包支持完整的TCP/IP網(wǎng)絡(luò )協(xié)議棧。eCos還提供了標準庫(ANSI C庫和數學(xué)庫)、兼容層(POSIX兼容和uITRON兼容)、文件系統等。作為一種開(kāi)放軟件,eCos還可以很方便地容納第三方軟件。

  1.2 可配置性原理

  eCos的一個(gè)主要特性就是其可配置特性??膳渲眯宰罱K是靠代碼中的條件編譯來(lái)完成的,條件編譯是編程語(yǔ)言的特點(diǎn),并不是eCos的原創(chuàng )。當一個(gè)軟件工程中的條件編譯項的數目和復雜性達到一定程度時(shí),其中有一些條件編譯項就會(huì )因為存在邏輯上的依賴(lài)關(guān)系而使條件編譯產(chǎn)生沖突。而如何發(fā)現并有效解決這種沖突才是eCos可配置性的特點(diǎn),如圖2所示,其可配置特性的實(shí)現主要由組件定義語(yǔ)言CDL(Component Definition Language)、組件倉庫ecos.db、圖形配置工具configtool三者共同完成。

  圖2 可配置機制


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

關(guān)鍵詞: 基于 應用 平臺 ARM7 eCos 硬件

評論


相關(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>