国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

ARM7(S3C44B0)平臺下基于VxWorks的網絡接口設計

發布時間:2010-7-30 13:42    發布者:lavida
關鍵詞: ARM7 , S3C44B0 , VxWorks , 接口設計
VxWorks操作系統以其高度的可靠性、優秀的實時性、靈活的可裁減性等優勢在嵌入式系統中備受關注,廣泛應用于許多行業;而隨著網絡技術的發展,嵌入式技術與網絡技術的結合已成必然。VxWorks是最早在其內核中加入TCP/IP協議的嵌入式實時操作系統。如何設計基于VxWorks的網絡接口,是擺在嵌入式開發人員面前的首要課題。本設計以三星公司的ARM7(S3C44B0)為核心CPU,開發了VxWorks下的網絡接口,包括硬件設計和軟件實現兩個部分。

1 硬件設計  

核心CPU采用三星公司的S3C44B0。S3C44B0采用ARM7TDMI內核,它通過提供全面的、通用的片上外設,大大減少了系統電路除處理器以外的元器件配置,降低了系統成本。 網絡接口芯片采用Realtek公司生產的RTL8019AS。它是一款高度集成的以太網控制器,不僅集成了MAC(介質訪問控制)子層和物理層的性能,而且與NE2000兼容,具有軟件可移植性強以及價格低廉等優點。  

S3C4480與RTL8019AS的硬件接口原理如圖1所示。從圖1中可以看出,RTL8019AS的使能端連到S3C44B0的nGCS3,因此它的地址映射在系統的Bank3上,基地址為0x06000000。RTL8019AS支持8位/16位數據總線,在本電路中采用16位方式。


  
RTL8019AS共有32個輸入/輸出地址,對應地址偏移量為0x00~0x1f,F分別說明如下:  

①0x00~0x0f的16個地址,為寄存器地址。  
②0x10~0xl7的8個地址,為數據讀寫端口地址。它們都是一樣的,每個都可以用來做數據讀寫端口,只要用其中一個就可以了。  
③0x18~0x1f的8個地址,為復位端口。它們的功能都是一樣的。但需要注意,實際上只有0x18、0x1a、0x1c、0xle這幾個復位端口是有效的,其他不要使用;因為有些兼容卡不支持0xl9、0xlb、Oxld等奇數地址的復位。  

在軟件設計時,尤其要注意以下兩點:  

①RTL8019AS的地址線從SA0~SA4依次連到S3C4480的ADDR1~ADDR5上,因此,RTL8019的寄存器地址要左移1位。  
②RTL8019AS使用EXINT1中斷,且上升沿觸發。  

2 軟件實現  

2.1 VxWorks的網絡協議棧和MUX接口  

VxWorks中的網絡協議棧叫作"SENS(Scalable En-hanced Network Stack)",即可裁減增強網絡協議棧。SENS是基于4.4BSDTCP/IP協議棧發展而來的。它包含了許多4.4BSDTCP/IP協議棧沒有的協議;而且SENS在實現一些協議功能時增加了許多新特性。如在IP協議實現時增加了多播功能。SENS協議棧層次如圖2所示。  


  
SENS的基本特征與傳統的TCP/IP網絡協議棧相似,但從圖2中可以看出,SENS最大的特點是在數據鏈路層和網絡協議層之間多了MUX層。在SENS中網絡接口的驅動程序叫作"END(Enhanced Network Driver)",即增強型網絡驅動程序,它處于數據鏈路層。IP層和TCP/UDP層合稱為"網絡協議層"。在數據鏈路層和網絡協議層之間有應用程序接口(API),這個接口在SENS中叫作"MUX(Multiplexer)接口"。MUX接口如圖3所示。MUX接口起到隔離網絡驅動程序與網絡協議的作用。在老式的BSD4.3的驅動模式下,網絡驅動程序和協議是緊密聯結的,無論協議還是驅動程序都需要了解對方的數據結構。而在新的基于MUX的模式下,驅動程序和協議并不需要了解對方。它們通過MUX接口來通信。例如,在收到一個包后,網絡驅動程序并不直接訪問協議的數據結構;相反,當準備將數據傳給協議層時,它調用一個MUX提供的函數,該函數處理把數據傳給協議層的細節。這使得添加一個新的驅動程序或協議十分容易。MUX實現了下面的一套函數集:muxBind()、muxUn-bind()、muxDevLoad()、muxDevUnload()、muxReceive()、muxError()、muxSend()、muxTxRestartRtn()、muxM castAddrDel()、muxMcastAddrGet()、mux-PollSend()、muxMcastAddrAdd()、muxPollReceive()、muxIoctrl()。網絡驅動程序和協議都要調用上面的函數,不需要為它們添加任何附加代碼。   


  
2.2 END設備驅動程序裝載過程  

在VxWorks中,END設備驅動程序裝載過程可以分為3個步驟,即指定END設備,裝載END設備和啟動END設備。END設備的指定是通過數組endDevTbl[ ]來完成的,該數組描述了系統中的所有網絡設備的裝載人口點及其相關參數。系統調用MUX設備裝載函數mux-DevLoad()來裝載END設備,調用MUX設備啟動函數muxDevStart()來啟動END設備。網絡設備驅動程序的裝載過程如圖4所示。系統通過usrRoot()函數來調用usrNetInit()函數完成MUX的初始化,裝載網絡設備表endDevTbl[ ]中描述的所有設備,并將IP協議綁定到網絡引導設備上等。  


  
當網絡設備產生中斷時,VxWorks調用驅動程序先前注冊的中斷服務程序。中斷服務程序應做盡可能少的工作,以完成將數據包從本地網絡設備送出/取出的操作。

2.3 文件配置  

由于RTL8019兼容NE2000網卡芯片,只需要在其基礎上完成必要的修改。首先將Tornado2.2\target\src\drv\end目錄下的ne2000End.c和Tornado2.2\target\h\dry\end目錄下的ne2000End.h拷貝到bsp目錄下,然后修改以下文件。  

(1) 修改ne2000End.C  
①修改頭文件包含目錄;
②sysIntConnect修改為intConnect;
③sysLanIntEnable修改為intEnable,并修改返回類型void為STATUS。  

(2) 修改ne2000End.h  
將寄存器地址左移1位,如:  
#define ENE_RSTART(0x01(3) 修改config.h  
添加網絡宏定義:  
①#define INCLUDE_NETWORK
②#define INCLUDE_END
③#ifdef INCLUDE_END
#undef INCLUDE_SNGKS32C_END
#define INCLUDE_NE2000_END
#endif/*INCLUDE_END*/  

(4) 修改configNet.h  
在endDevTbl[ ]表中添加新的裝載函數(其函數命名格式為xxLoad( ))入口點及相關參數。


  
(5) 修改Makefile
添加MACH_EXTRA=ne2000End.o  

(6) 修改sysLib.c  
①添加MAC地址定義:  
unsigned char ne2000EnetAddr[]=ETHERNET_MAC_ADRS;  
②添加 sysInByte、sysOutByte、syslnWordString和sysOutWordString函數。  
③在sysHwInit()中添加CPU端口初始化:


  
④在sysHwInit()中添加RTL8019芯片的復位和初始化函數。相關代碼如下(有關寄存器的宏定義請參照RTL8019數據手冊):









結 語

本文在VxWorks嵌入式實時操作系統下,提出了網絡接口的解決方案,即以ARM7(S3C44B0)為核心CPU,控制網絡控制器TRL8019實現網絡通信。本文首先簡單介紹了幾款主要芯片,給出了硬件原理圖;然后簡要分析了VxWorks下的網絡協議和驅動裝載過程;最后,針對此網絡接口,詳細列出了VxWorks下文件配置過程,提供了部分軟件源程序,對開發人員有一定的參考價值。
本文地址:http://www.qingdxww.cn/thread-18052-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 了解一下Microchip強大的PIC18-Q24 MCU系列
  • 基于CEC1712實現的處理器SPI FLASH固件安全彈性方案培訓教程
  • 5分鐘詳解定時器/計數器E和波形擴展!
  • PIC18-Q71系列MCU概述
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 男人的天堂va | 免费看美女部位隐私 | 亚洲精品天堂在线 | 中文在线日本免费永久18近 | 四虎成人www国产精品 | 大伊香蕉精品一线视频 | 久久久国产一区二区三区丝袜 | 香香视频免费版下载 | 亚洲成a人片77777老司机 | 玖操网 | 国产日韩久久久精品影院首页 | 久久99热精品免费观看动漫 | 91亚色视频| 欧美又大又粗又爽视频 | 天天干天天操天天爽 | 91免费精品国偷自产在线在线 | 婷婷综合久久中文字幕蜜桃三 | 国产成人精品免费影视大全 | 亚洲国产成人va在线观看 | 老司机亚洲精品影院在线 | 免费观看老外特级毛片 | 日韩精品视频在线免费观看 | 偷拍区自拍区 | 在线观看日韩视频 | 日本在线免费看 | 亚洲免费黄色片 | 色一伦一情一区二区三区 | 国产午夜人做人免费视频中文 | 丁香综合在线 | aaaaaa精品视频在线观看 | 99久久中文字幕伊人情人 | 美国女网址www呦女 美国农夫激情在线综合 | 中文字幕二区三区 | 国产成人福利免费观看 | 亚洲 武侠 欧美 自拍 校园 | 五月婷婷在线免费观看 | 久久免费精品高清麻豆 | 欧美一区二区三区不卡免费观看 | 欧美精品一二区 | 国产又爽又黄又刺激的软件 | 日本高清视频不卡 |