<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ò ) 收藏

 ?。?) 組件定義語(yǔ)言CDL

  CDL是組件框架中的一個(gè)關(guān)鍵部分,所有模塊的程序包中都包含一個(gè)CDL腳本對該包進(jìn)行描述并提供配置選項。以本系統中的串口驅動(dòng)程序包為例,在該包對應的CDL中定義了一個(gè)名為CYGPKG_IO_SERIAL_ARM_AT91的cdl_package。在這個(gè)cdl_package中詳細列出了該包的一些屬性,如該包必須在工程已經(jīng)包含了抽象層包CYGPKG_HAL_ARM_AT91和上層串口I/O包CYGPKG_IO_SERIAL的情況下才會(huì )被使能。另外,串口的一些常用特性,如波特率、設備名、緩沖區大小等配置選項也是必不可少的。在一些復雜的CDL中還會(huì )包含對該包中的源程序進(jìn)行編譯時(shí)的一些編譯選項。在進(jìn)行配置的時(shí)候,該包還會(huì )產(chǎn)生一個(gè)包含了各個(gè)可配置參數數值的頭文件。當其他包使用由CYGPKG_IO_SERIAL_ARM_AT91包提供的可配置參數時(shí),這個(gè)新產(chǎn)生的頭文件就會(huì )被相關(guān)的源文件通過(guò)#include語(yǔ)法包含。

 ?。?) 組件倉庫ecos.db

  ecos.db是一個(gè)包含了所有可用程序包和配置模版的文本文件。在該文件中,需要注冊所有的CDL包。在注冊時(shí)以package關(guān)鍵字提供相應包的名稱(chēng)、CDL腳本文件的文件路徑以及對該包的一個(gè)簡(jiǎn)單描述。在ecos.db中還會(huì )以target關(guān)鍵字生成配置模版,從而提供目標的一些基本組成結構,使目標包括所需要的已經(jīng)注冊了的CDL配置包。

 ?。?) 圖形配置工具configtool

  configtool是利用MFC編寫(xiě)的Windows程序,是可配置性的執行者,也可以理解成是CDL腳本的解釋器。一方面它讀取ecos.db文件中的目標和已注冊的配置包信息,根據配置包的路徑找到相應的CDL腳本,然后根據腳本中給出的屬性向程序員提供圖形化的配置信息;另一方面,它還可以接受用戶(hù)的輸入,包括單選按鈕、復選框、下拉列表、文本輸入等。當用戶(hù)保存一個(gè)配置時(shí),configtool會(huì )根據CDL語(yǔ)言的提示生成相應的頭文件,也會(huì )將指定的頭文件從配置包中復制到配置文件所在的工作目錄。無(wú)論是生成的頭文件還是拷貝的頭文件,都會(huì )在編譯時(shí)被源程序所引用。對于內核源程序,configtool又可以理解成編譯器。當用戶(hù)的配置選項被保存并且對工程進(jìn)行編譯時(shí),configtool會(huì )在后臺調用真正的編譯器GCC,根據配置包CDL中的編譯選項控制GCC對所有需要的內核源文件進(jìn)行編譯并生成庫文件和對應的鏈接腳本。當然configtool只是對eCos內核進(jìn)行編譯,用戶(hù)的程序只需在編譯時(shí)和由configtool編譯生成的庫文件進(jìn)行鏈接就可以得到最終的可執行映像文件。

  2 系統框架

  本系統是一個(gè)以為核心構成的測控系統,通過(guò)對傳感器的脈沖信號進(jìn)行處理而得到待測物料的流量,并通過(guò)控制給料器的給料速度達到流量控制的目的。對于一個(gè)有實(shí)用價(jià)值的測控系統,必須具有人機交互、閉環(huán)控制、數據通信和存儲等功能。本課題所研制的流量測控系統的框圖如圖3所示。

  圖3 流量測控系統硬件框圖

  圖3中,處理器為內核的工業(yè)級芯片AT91M55800,其強大的功能保證了系統的實(shí)時(shí)性和穩定性的要求。2 MB的Flash SST39VF160用來(lái)保存程序代碼、測量所需的一些參數以及測量結果的簡(jiǎn)單統計信息。在工業(yè)生產(chǎn)中,經(jīng)常需要對一次測量中的數據進(jìn)行歷史再現,以便對一些事故或故障進(jìn)行排查。本系統通過(guò)采用1 MB的大容量RAM來(lái)實(shí)現這一功能:除了用來(lái)作為程序運行時(shí)的內存外,RAM還用來(lái)實(shí)時(shí)保存每一時(shí)刻的測量數據。USB總線(xiàn)的通信口用來(lái)和現場(chǎng)計算機進(jìn)行通信,以實(shí)現一些更加完善的處理,如數據打印、結果分析、實(shí)時(shí)數據的硬盤(pán)保存等。分辨率為320×240的LCD用來(lái)作為系統的顯示終端配合4×5的鍵盤(pán)來(lái)完成系統的人機交互操作。對變頻器的控制和對溫度信號的采集通過(guò)485總線(xiàn)完成。6路脈沖信號是本系統測量功能的核心,通過(guò)對這6路脈沖進(jìn)行處理可以得到流量相關(guān)的所有信息。4~20 mA電流信號用來(lái)控制給料系統,以實(shí)現閉環(huán)控制。由于在工業(yè)環(huán)境中使用,對于一些長(cháng)線(xiàn)連接必須采取隔離措施。本系統對測量脈沖、485通信信號和4~20 mA電流信號都采取了光電隔離措施。



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