国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > S698-T處理器的VxWorksARINC 429總線模塊應(yīng)用

S698-T處理器的VxWorksARINC 429總線模塊應(yīng)用

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

摘要:總線是航空專(zhuān)用總線,應(yīng)用非常廣泛。本文以處理器為平臺(tái),從底層入手,詳細(xì)講述了針對(duì)處理器的 總線驅(qū)動(dòng)模塊的應(yīng)用與開(kāi)發(fā)過(guò)程。給出了通過(guò) VIP工程調(diào)用驅(qū)動(dòng),完成數(shù)據(jù)收發(fā)的過(guò)程,可為后續(xù)的應(yīng)用、開(kāi)發(fā)工作提供幫助。

本文引用地址:http://m.ptau.cn/article/201609/305076.htm

引言

操作系統(tǒng)作為一種嵌入式實(shí)疾僮饗低(RTOS),擁有高性能的內(nèi)核以及友好的用戶開(kāi)發(fā)環(huán)境,發(fā)展為當(dāng)今較流行的嵌入式系統(tǒng)。其應(yīng)用遍布通信、國(guó)防、工業(yè)控制、醫(yī)療設(shè)備等多個(gè)嵌入式領(lǐng)域。

是珠海歐比特控制工程股份有限公司面向嵌入式控制領(lǐng)域而研制的一款高性能、高可靠的SoC芯片,以130 nm CMOS半導(dǎo)體工藝制造。S698-T芯片以高性能的SPARC V8(IEEE-1754)架構(gòu),標(biāo)準(zhǔn)的32位RISC整數(shù)單元IU為主控內(nèi)核,配以IEEE-754標(biāo)準(zhǔn)的64位雙精度浮點(diǎn)處理單元FPU。此外,S698-T內(nèi)部還集成了1553B總線控制器、ARINC429總線控制器、CAN總線控制器、多功能I/O接口、UAR丁接口、在線硬件調(diào)試支持單元DSU、DAC模塊、ADC模塊等多種功能模塊。

ARINC429總線協(xié)議是美國(guó)航空電子工程委員會(huì)(Airlines Engineering Committee)于1977年7月提出的,并于同年同月發(fā)表并獲得批準(zhǔn)使用。數(shù)字式信息傳輸系統(tǒng)DITS,規(guī)定了航空電子沒(méi)備及有關(guān)系統(tǒng)間的數(shù)字信息傳輸要求。ARINC429廣泛應(yīng)用在先進(jìn)的民航客機(jī)中,如B-737、B757、B-767等。ARINC429總線結(jié)構(gòu)簡(jiǎn)單、性能穩(wěn)定、抗干擾性強(qiáng)。最大的優(yōu)勢(shì)在于可靠性高,這是由于它非集中控制、傳輸可靠、錯(cuò)誤隔離性好。

1 S698-T ARINC429設(shè)計(jì)

ARINC429驅(qū)動(dòng)基于VxBus模式進(jìn)行開(kāi)發(fā),VxBus是在VxWorks中用于支持設(shè)備驅(qū)動(dòng)的特有架構(gòu)。VxBus在總線控制器服務(wù)的支持下,能在總線上發(fā)現(xiàn)設(shè)備,并執(zhí)行一些初始化工作,使驅(qū)動(dòng)與硬件設(shè)備之間正常通信。它包括以下功能:

①允許設(shè)備驅(qū)動(dòng)匹配對(duì)應(yīng)設(shè)備;

②提供驅(qū)動(dòng)程序訪問(wèn)硬件的機(jī)制;

③允許軟件其他部分訪問(wèn)設(shè)備功能;

④在VxWorks系統(tǒng)中,實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)的模塊化。

在VxWorks6.2版本發(fā)布前,設(shè)備驅(qū)動(dòng)并不能被集成到VxWorks工程配置當(dāng)中,為了添加或移出設(shè)備驅(qū)動(dòng),需要有豐富的BSP和驅(qū)動(dòng)開(kāi)發(fā)相關(guān)的知識(shí)。并且在驅(qū)動(dòng)被添加或移出時(shí)要去做一些管理VxWorks工程的額外工作。作為VxWorks系統(tǒng)組件的一部分,VxBus消除了上面遇到的一些難題,各種驅(qū)動(dòng)和支持組件的添加與刪除完全可以在Workbench工程中進(jìn)行,而不需要BSP和驅(qū)動(dòng)相關(guān)的知識(shí),也不會(huì)在添加、刪除驅(qū)動(dòng)時(shí)增加管理VxWorks工程的額外工作。因此大大方便了BSP的開(kāi)發(fā)。

ARINC429驅(qū)動(dòng)采用第三方驅(qū)動(dòng)程序的組織方式,VxWorks允許驅(qū)動(dòng)程序開(kāi)發(fā)廠商和開(kāi)發(fā)者創(chuàng)建第三方驅(qū)動(dòng)程序,不需要擔(dān)心不同廠商的文件之間的命名空間沖突。每一個(gè)想提供VxWorks驅(qū)動(dòng)程序的廠商必須在3rdparty目錄創(chuàng)建自己的子目錄。

盡管一個(gè)驅(qū)動(dòng)程序可以包括很多文件,比如多個(gè)源文件和多個(gè)頭文件,但是一個(gè)標(biāo)準(zhǔn)的VxWorks驅(qū)動(dòng)程序有一個(gè)最小的文件集,對(duì)于大多數(shù)VxWorks驅(qū)動(dòng)程序最少要求6個(gè)文件,如表1所列。

S698-T處理器的VxWorksARINC 429總線模塊應(yīng)用

一般情況下,CDF文件、dc文件、dr文件都被認(rèn)為是驅(qū)動(dòng)程序的配置文件,下面詳細(xì)介紹這些文件。

1.1 驅(qū)動(dòng)程序源文件

驅(qū)動(dòng)程序源文件包含了驅(qū)動(dòng)程序功能的實(shí)現(xiàn)邏輯,它們被放在目錄installDir/vxworks-6.x/target/src/hwif,第三方驅(qū)動(dòng)的源文件放在目錄installDir/vxworks-6.x/target/3rdparty。很多VxWorks設(shè)備驅(qū)動(dòng)程序只包含一個(gè)源文件,一個(gè)驅(qū)動(dòng)程序可以包含一個(gè)或者幾個(gè)可選的頭文件;驅(qū)動(dòng)程序可以包含多個(gè)源文件,此時(shí)必須在Makefile里面提供各個(gè)模塊的依賴規(guī)則。下面以文件leon2obt429.c為例來(lái)說(shuō)明VxWorks驅(qū)動(dòng)程序的結(jié)構(gòu)。

設(shè)備驅(qū)動(dòng)程序的第一部分是一個(gè)描述VxBus初始化階段要調(diào)用的例程的結(jié)構(gòu):

LOCAL struct drvBusFuncs leon2OBT429DrvFuncs={

leon2OBT429InstInit,

leon2OBT429InstInit2,

leon2OBT429InstConnect

};

接著就是描述驅(qū)動(dòng)程序所支持的驅(qū)動(dòng)方法的數(shù)據(jù)結(jié)構(gòu)(每一種類(lèi)別的驅(qū)動(dòng)程序都必須實(shí)現(xiàn)該類(lèi)的驅(qū)動(dòng)方法):

LOCAL device_method_t leon2OBT429Drv_methods[]={

{0,NULL}

};

然后描述該驅(qū)動(dòng)程序需要的注冊(cè)信息的結(jié)構(gòu):

LOCAL struCt vxbDevRegInfo lcon2OBT429DrvRegistration={

NULL, /*后續(xù)設(shè)備指針*/

VXB_DEVID_DEVICE, /*設(shè)備ID號(hào)*/

VXB_BUSID_PLB, /*總線ID號(hào)*/

VXB_VER_4_0_0, /*VxBus版本號(hào)*/

“leon2OBT429Dev”, /*驅(qū)動(dòng)名稱(chēng)*/

leon2OBT429DrvFuncs, /*驅(qū)動(dòng)入口函數(shù)指針*/

leon2OBT429Drv_methods[0],/*設(shè)備方法組*/

NULL, /*設(shè)備探測(cè)*/

NULL /*默認(rèn)參數(shù)*/

};

在注冊(cè)信息后面,驅(qū)動(dòng)程序必須提供一個(gè)例程來(lái)向VxBus注冊(cè),表明該驅(qū)動(dòng)程序的存在:

void leon2OBT429DrvRegister(void){

/*驅(qū)動(dòng)注冊(cè),此時(shí)不需要真正的硬件*/

vxbDevRegister((struct vxbDevRegInfo *)

leon2OBT429DrvRegistration);

}

由于驅(qū)動(dòng)程序注冊(cè)方法被當(dāng)作是驅(qū)動(dòng)程序的第一個(gè)入口點(diǎn),VxWorks必須被配置成:當(dāng)該驅(qū)動(dòng)程序向VxBus注冊(cè)時(shí),VxWorks知道調(diào)用該入口點(diǎn)。為了做到這點(diǎn),VxWorks使用的之前提到的那幾個(gè)驅(qū)動(dòng)配置文件:CDF文件、dc文件、dr文件。

1.2 CDF文件

CDF文件的全稱(chēng)是Component Description File,組件描述文件。根據(jù)VxBus標(biāo)準(zhǔn)開(kāi)發(fā)的VxWorks設(shè)備驅(qū)動(dòng)程序都被編譯成一個(gè)單獨(dú)的模塊,可以使用VxWorks配置工具非常輕松地將驅(qū)動(dòng)程序配置進(jìn)BSP中。但是,必須為你的設(shè)備驅(qū)動(dòng)程序創(chuàng)建一個(gè)VxWorks組件。

一個(gè)組件是一個(gè)基本的功能單元,它可以單獨(dú)配置進(jìn)入VxWorks內(nèi)核鏡像中。為了能夠單獨(dú)添加和刪除設(shè)備驅(qū)動(dòng)程序到VxWorks中,驅(qū)動(dòng)程序必須能夠被VxWorks配置工具識(shí)別成individual組件。為了讓驅(qū)動(dòng)程序能夠在Workbench或者vxprj中是可以配置的,必須創(chuàng)建CDF文件,CDF文件提供VxWorks配置工具所需要的信息。針對(duì)風(fēng)河公司發(fā)布的設(shè)備驅(qū)動(dòng)程序,其對(duì)應(yīng)的CDF文件位于以下目錄:


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

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉