www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]VxWorks網(wǎng)絡(luò)驅(qū)動配置及分析

VxWorks支持兩種形式的網(wǎng)絡(luò)驅(qū)動,一種是BSD驅(qū)動支持通用的BSD4.4網(wǎng)絡(luò),API,結(jié)構(gòu)等和大多數(shù)BSD網(wǎng)絡(luò)的驅(qū)動類似.另一種是END網(wǎng)絡(luò)驅(qū)動,是VxWorks獨有的,根據(jù)VxWorksMUX接口編程,不過END驅(qū)動在底層也要轉(zhuǎn)換成BSD的形式.

VxWorks網(wǎng)絡(luò)驅(qū)動可參見VxWorks網(wǎng)絡(luò)驅(qū)動

1.BSD4.4網(wǎng)絡(luò)驅(qū)動設(shè)置.

網(wǎng)絡(luò)設(shè)備驅(qū)動的調(diào)用主要在/target/src/config/usrNetwork.c文件中,下面說明BSD4.4驅(qū)動在VxWorks系統(tǒng)調(diào)用.

主要調(diào)用過程如下:

VxWorks系統(tǒng)執(zhí)行的第一個任務(wù)targetconfigallusrConfig.c文件中usrRoot()=======>>targetsrcconfigusrNetwork.c文件中的usrNetInit

()通過數(shù)組表netIf[]初始化相應(yīng)的BSD網(wǎng)卡驅(qū)動.

在usrNetwork.c中的調(diào)用過程如下:

usrNetInit()函數(shù)中調(diào)用usrNetIfAttach():

#ifdefINCLUDE_BSD

if(!attached)

{

if((usrNetIfAttach(pNetDev,params.unitNum,pBootString)!=OK))

return(ERROR);

attached=TRUE;

}

#endif/*INCLUDE_BSD*/

usrNetIfAttach()函數(shù)中調(diào)用數(shù)組表usrNetIfTbl

for(pNif=usrNetIfTbl;pNif->ifName!=0;pNif++)

{

if(strcmp(buf,pNif->ifName)==0)

break;

}

網(wǎng)絡(luò)BSD驅(qū)動數(shù)組表usrNetIfTbl在文件/target/src/config/usrNetwork.c中的定義初始化:

...

LOCALNETIFnetIf[]=/*網(wǎng)絡(luò)接口,定義網(wǎng)卡驅(qū)動*/

{

/*下面是定義包含的各種網(wǎng)絡(luò)驅(qū)動*/

#ifdefINCLUDE_DC/*從DEC芯片啟動,即系統(tǒng)有NVRAM存在,現(xiàn)在已過時*/

{"dc",dcattach,(char*)IO_ADRS_DC,INT_VEC_DC,INT_LVL_DC,

DC_POOL_ADRS,DC_POOL_SIZE,DC_DATA_WIDTH,DC_RAM_PCI_ADRS,

DC_MODE},

#endif/*INCLUDE_DC*/

#ifdefINCLUDE_FEI/*如果定義了INCLUDE_FEI,初始化Intel網(wǎng)卡*/

{"fei",feiattach,(char*)FEI_POOL_ADRS,0,0,0,0},

#endif/*INCLUDE_FEI*/

#ifdefINCLUDE_EX/*Excelan網(wǎng)卡*/

{"ex",exattach,(char*)IO_ADRS_EX,INT_VEC_EX,INT_LVL_EX,

IO_AM_EX_MASTER,IO_AM_EX},

#endif/*INCLUDE_EX*/

#ifdefINCLUDE_ENP/*CMC網(wǎng)卡*/

{"enp",enpattach,(char*)IO_ADRS_ENP,INT_VEC_ENP,INT_LVL_ENP,

IO_AM_ENP},

#endif/*INCLUDE_ENP*/

...

}

設(shè)置方法:

從以上可以看出BSD網(wǎng)絡(luò)驅(qū)動只需在BSP配置文件config.h中將網(wǎng)絡(luò)(#defineINCLUDE_NETWORK)BSD網(wǎng)卡宏定義(#defineINCLUDE_xxx)和一些I/O參數(shù)(一般不需要)加入,則在文件usrNetwork.c中進行相應(yīng)的初始化.

如:在VxWorks加入支持intel的網(wǎng)卡驅(qū)動.在config.h中加入"#defineINCLUDE_FEI".

主要網(wǎng)卡定義如下:

#defineINCLUDE_ENE/*includeEagle/NovellNE2000interface*/

#defineINCLUDE_ELT/*include3COMEtherLinkIIIinterface*/

#defineINCLUDE_ESMC/*includeSMC91c9xEthernetinterface*/

#defineINCLUDE_FEI/*includeIntelEtherExpressPRO100BPCI*/

#defineINCLUDE_ELC/*includeSMCElite16interface*/

#defineINCLUDE_EEX/*includeINTELEtherExpressinterface*/

#defineINCLUDE_EEX32/*includeINTELEtherExpressflash32*/

#defineINCLUDE_EX/*includeExcelanEthernetinterface*/

#defineINCLUDE_ENP/*includeCMCEthernetinterface*/

#defineINCLUDE_SM_NET/*includebackplanenetinterface*/

#defineINCLUDE_SM_SEQ_ADDR/*sharedmemorynetworkautoaddresssetup*/

#defineINCLUDE_EL_3C90X_END/*3comfastetherLinkXLPCI*/

#defineINCLUDE_LN_97X_END/*AMD79C972ENDDRIVER*/

....

2.END網(wǎng)絡(luò)驅(qū)動設(shè)置.

END網(wǎng)絡(luò)設(shè)備的初始化主要通過定義在文件configNet.h中的一個數(shù)組表實現(xiàn).初始化網(wǎng)絡(luò)時muxDevLoad()會按這個表的定義把end初始化安裝到VxWorks系統(tǒng).

主要調(diào)用過程:

VxWorks系統(tǒng)執(zhí)行的第一個任務(wù)targetconfigallusrConfig.c文件中usrRoot()=======>>targetsrcconfigusrNetwork.c文件(該文件初始化TCP/IP)中usrNetInit(BOOT_LINE_ADRS)(該函數(shù)作用是添加MUXEND)========>>pcooki=pCookie=muxDevLoad(pDevTbl->unit,.....)其中pDevTbl在BSP網(wǎng)絡(luò)配置文件configNet.h中定義.END_TBL_ENTRYendDevTbl[]={...},該表定義了網(wǎng)絡(luò)設(shè)備的具體參數(shù).

configNet.h部分定義如下所示:

#defineDEC_LOAD_FUNCdec21x40EndLoad/*定義加載網(wǎng)絡(luò)設(shè)備的入口程序*/

#defineDEC_BUFF_LOAN1

/*網(wǎng)絡(luò)設(shè)備硬件的物理定義數(shù)據(jù)串,一般BSP已經(jīng)定義,不到必要時,無需更改*/

/*

*: ::::::

*:

*/

#defineDEC_LOAD_STRING

"0x81020000:0x80000000:0x12:0x12:-1:-1:-1:0:0x80800

000"

IMPORTEND_OBJ*DEC_LOAD_FUNC(char*,void*);

/*網(wǎng)絡(luò)END設(shè)備表*/

END_TBL_ENTRYendDevTbl[]=

{0,DEC_LOAD_FUNC,DEC_LOAD_STRING,DEC_BUFF_LOAN,NULL,FALSE},

{0,END_TBL_END,NULL,0,NULL,FALSE},

};

設(shè)置方法:

由以上可看出在VxWorks添加END網(wǎng)絡(luò)驅(qū)動

在文件config.h中添加"#defineINCLUDE_NETWORK"和"#defineINCLUDE_END".

在configNet.h中加入END驅(qū)動的入口函數(shù)"#definexxx_LOAD_FUNCxxxxxEndLoad"和一些相關(guān)的初始化字符串.[!--empirenews.page--]

這樣就會在生成BSP包含END/MUX,系統(tǒng)網(wǎng)絡(luò)初始化調(diào)用函數(shù)muxDevLoad()會更據(jù)這個表初始化END網(wǎng)絡(luò).

文件configNet.c關(guān)于END驅(qū)動初始化的主要內(nèi)容:

#ifdefINCLUDE_END

IMPORTintipAttach();

IMPORTEND_TBL_ENTRYendDevTbl[];/*定義這個表*/

#endif/*INCLUDE_END*/

..........

#ifdefINCLUDE_END

intcount;

END_TBL_ENTRY*pDevTbl;/*END設(shè)備列表*/

END_OBJ*pCookie=NULL;

END_OBJ*pEnd;

#endif/*INCLUDE_END*/

#ifdefined(INCLUDE_END)

muxMaxBinds=MUX_MAX_BINDS;/*初始化MUX接口*/

if(muxLibInit()==ERROR)

..........

關(guān)于DEFAULT_BOOT_LINE的解釋

這一行對配置網(wǎng)絡(luò),連通TargetServer及下載調(diào)試程序非常重要

DEFAULT_BOOT_LINE的原意是為沒有NVRAM的target設(shè)計的,這樣用戶就不需要在每次系統(tǒng)啟動是手工輸入這些參數(shù)了.

系統(tǒng)啟動網(wǎng)絡(luò)時xxxEndLoad()會解釋這一行并按這一行的定義進行加載.

Emac(0,0):啟動設(shè)備,可是是軟盤,硬盤,PCMCIA卡等其他的設(shè)備名稱如:

fd為軟盤,(0,0)表示第一個軟驅(qū),3.5寸盤.

dc則表示從DEC21x4x芯片啟動,即系統(tǒng)有NVRAM存在,這種方式現(xiàn)在已不采用.

elpci表示啟動設(shè)備為3COMEtherLinkXLPCI網(wǎng)卡.

fei:Intel82559EtherExpress網(wǎng)卡.

ene:NE2000網(wǎng)卡

ELT:3COM以太網(wǎng)卡

EEX:Intel網(wǎng)卡

ata:ATA/IDE硬盤............

405GP:主機名

vXworks從主機加載的VxWorks文件

h=172.16.1.159主機的IP地址

e=172.16.254.52目標(biāo)機的IP地址,若網(wǎng)絡(luò)啟動TargetServer時,這個IP必須和主機上TargetServer配置的TargetIP地址一致,且設(shè)置BackEnd選項為wdbrpc

u=xxx用戶名,pw=xxx密碼:若通過網(wǎng)絡(luò)加載調(diào)試時,主機的Ftp服務(wù)器和目標(biāo)機的用戶名和密碼必須相同

tn=vxTarget目標(biāo)機名稱

*/

#defineDEFAULT_BOOT_LINE

"Emac(0,0)405GP:vxWorksh=172.16.1.159e=172.16.254.52

u=xxxpw=xxxtn=vxTarget"

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉