<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è) > 嵌入式系統 > 設計應用 > S698-T處理器的VxWorksARINC 429總線(xiàn)模塊應用

S698-T處理器的VxWorksARINC 429總線(xiàn)模塊應用

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

installDir/vxworks-6.x/target/config/comps/vXWorks

在風(fēng)河提供的中,一個(gè)CDF文件可能包含著(zhù)描述多個(gè)設備的信息,對于第三方驅動(dòng),其CDF文件路徑是在目錄下。

40leon2obt429.cdf文件的主要數據結構如下:

Component DRV_LEON2 OBT429{

NAME LEON2 obt429 VxBus driver

S698-T處理器的VxWorksARINC 429總線(xiàn)模塊應用
S698-T處理器的VxWorksARINC 429總線(xiàn)模塊應用

CDF文件使用上述語(yǔ)句來(lái)定義一個(gè)組件ID。中的每個(gè)組件必須用Component關(guān)鍵字來(lái)描述,驅動(dòng)程序的ID一般以DRV_開(kāi)始,并在ID中包含該驅動(dòng)程序的描述性信息,每一類(lèi)的驅動(dòng)程序對組件ID都有著(zhù)相同的命名習慣。設備驅動(dòng)程序組件標準的命名習慣應該是DRV_CLASS_ NAME。組件名字必須是唯一的,而DRV_CLASS_NAME中的DRV和CLASS都有可能相同,這就要求NAME必須唯一才行。

2 8698-T驅動(dòng)應用編程

是普通I/O設備,設備打開(kāi)、關(guān)閉通過(guò)標準open()、close()函數完成。數據的收、發(fā)通過(guò)標準write()、read()函數完成,而通道的配置、選擇等需要通過(guò)ioctl()函數完成。由于中的429模塊總共有6個(gè)通道:4個(gè)接收通道、2個(gè)發(fā)送通道。為了進(jìn)行區分,軟件在進(jìn)行收、發(fā)操作之前要先進(jìn)行通道選定,以下分別是調用驅動(dòng)完成ARINC429數據收、發(fā)操作的一般軟件流程,如圖1、圖2所示。

以下示例調用ARINC429的驅動(dòng),完成ARINC429數據的發(fā)送、接收操作。示例需要新建一個(gè)VIP工程,新建429test.c文件中輸入的程序代碼略一一編者注。

S698-T處理器的VxWorksARINC 429總線(xiàn)模塊應用
S698-T處理器的VxWorksARINC 429總線(xiàn)模塊應用

3 ARINC429應用執行結果

首先選擇“wrleon23_sparcleon”BSP包創(chuàng )建一個(gè)VIP( Image Project)工程。

完成工程的創(chuàng )建之后還需對內核進(jìn)行配置。在Workbench左側的Project Explorer窗口中點(diǎn)擊創(chuàng )建的工程,再雙擊Kernel Configuration進(jìn)入到內核配置界面。

為了讓編譯的鏡像文件具有ARINC429功能,需添加ARINC429組件,首先查找到組件“LEON2 obt429 VxBus driver”,并將其添加到工程中。

將上節中編輯好的429test.c文件添加到工程中,最后要修改usrAppInit函數,增加對OBT429AppInit函數的入口調用。

編譯整個(gè)工程,再通過(guò)dsumon調試器下載映像到目標板上運行。

下載運行的步驟如下:

①確保開(kāi)發(fā)板上的DSU口和UART0已連接到PC機;

②先打開(kāi)超級終端,打開(kāi)相應的串口,用于S698-T程序運行時(shí)的顯示輸出;

③再打開(kāi)cygwin終端,進(jìn)人工程目錄,連接dsumon;

④將生成的Image文件下載進(jìn)目標板。

命令描述如下:

$ dsumon-i-u

$ lo VxWorks

$ run

在超級終端上可以觀(guān)察到運行VxWorks的運行結果,如圖3所示。

S698-T處理器的VxWorksARINC 429總線(xiàn)模塊應用

從程序輸出結果中可以看出,接收通道1完全接收了發(fā)送通道1發(fā)出的20個(gè)幀數據,前7幀為非0數據,后13幀為全0;由于選擇的是25位字長(cháng)模式,接收到的數據與發(fā)送數組中的數據存有差異,為(tempbuf[n]0x1FFFFFF),實(shí)際值與預期值完全相同。

另外還可以在VxWorks Shell中輸入devs和vxBusShow命令來(lái)觀(guān)察ARINC429硬件驅動(dòng)的掛載情況,如圖4所示。

S698-T處理器的VxWorksARINC 429總線(xiàn)模塊應用

結語(yǔ)

針對S698-T處理器內部的ARINC429總線(xiàn)模塊,開(kāi)發(fā)了基于VxWorks6.7的ARINC429驅動(dòng)程序,該驅動(dòng)程序是標準I/O設備驅動(dòng),使用方便、處理靈活。本文詳細給出了通過(guò)VxWorks VIP工程調用ARINC429驅動(dòng),完成數據收、發(fā)的過(guò)程,并給出了相關(guān)參考代碼,以及對應的驗證結果,可為后續的應用、開(kāi)發(fā)工作提供幫助。


上一頁(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>