如何学习嵌入式之基于ARM的无线网卡设备驱动设计.pptx

如何学习嵌入式之基于ARM的无线网卡设备驱动设计.pptx

ID:51690948

大小:220.56 KB

页数:17页

时间:2020-01-30

如何学习嵌入式之基于ARM的无线网卡设备驱动设计.pptx_第1页
如何学习嵌入式之基于ARM的无线网卡设备驱动设计.pptx_第2页
如何学习嵌入式之基于ARM的无线网卡设备驱动设计.pptx_第3页
如何学习嵌入式之基于ARM的无线网卡设备驱动设计.pptx_第4页
如何学习嵌入式之基于ARM的无线网卡设备驱动设计.pptx_第5页
资源描述:

《如何学习嵌入式之基于ARM的无线网卡设备驱动设计.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如何学习嵌入式之基于ARM的无线网卡设备驱动设计引言1硬件系统构成1.1USB无线网卡介绍1.2系统构成2USB无线网卡驱动2.1LinuxUSB驱动模块结构2.2LinUX网络驱动程序结构2.2.1USB无线网卡驱动设备的访问和控制2.2.2USB网络设备驱动程序设计3编译与测试3.1无线网卡驱动编译3.2测试结果及分析4结语随着移动通信和便携通信的发展,无线局域网WLAN日渐普及。嵌入式系统中无线局域网的接入,既可以实现对嵌人式系统的无线控制和数据传输,又可以满足一些特殊应用的场合。这里通过对USB无线网卡的Linux设备驱动的深入理解和分析,成功地移植在

2、Atmel9261arm处理器上。实现了嵌入式系统的无线局域网接入。利用该平台,可以进一步设计完善医用伽马相机和小型SPECT设备的手持数据采集系统,使得控制人员能够远离数据采集现场,而通过远程终端来控制现场数据和各种控制信号,较好地解决了安全性问题。引言1.1USB无线网卡介绍无线网卡是无线局域网(WLAN)的重要组成部分,WLAN的物理层及MAC层是用无线网卡的硬件及其软件完成的,而LLC层以上各层均由计算机软件来实现。WLAN包括进行通信的网络接口卡(简称无线网卡)和接人点/桥接器(AP/网桥)。其中,无线网卡提供了最终用户设备(手持设备)与接人点/桥接

3、器之间的接口。目前,无线网卡主要以PCMCIA,CompactFlash(CF)卡的形式广泛应用。大多数可用的无线网卡都是基于IntersilPrism或LucentHermes芯片组的,其中USB设备的无线网卡则由Ateml芯片组支持。该系统采用D-Link的WLG-122无线网卡,芯片组为Prism2,它通过USBhostport接入。1如何学习嵌入式之硬件系统构成主控制器采用Atmel9261,工作频率180MHz,具有16KB数据cache和16KB指令cache,外接64MBNANDFLASH和64MBSDRAM,外围接口由10/100Mb/s自适应

4、以太网卡,3个USB2.0接口,2个通用异步收发器(UART),LCD接口以及串行外围接口(SPI)等组成,可以方便地外接工作设备。操作系统采用Linux2.6.15;Bootloader采用U-boot;根文件系统采用ramdisk。系统启动后挂载yaffs文件系统,该系统采用Ateml公司的Atmel9261开发板,外围接口包括2个USBhost接口,其中一个外接USB无线网卡。无线路由器采用Cisco-Linksys的WRTl60N,支持802.11g标准、TCP协议和TFTP协议,如图1所示。1.2如何学习嵌入式之系统构成如何学习嵌入式2.1Linux

5、USB驱动模块结构对于接入系统中的USB无线网卡,从CPU的角度首先看到的是USB总线,然后才是网卡芯片,所以USB驱动要先于网卡驱动实现。USB设备接口有主机端与设备端区别,因而USB驱动程序也有USB主机端驱动程序与USB设备端驱动程序之分。在主控机方面,主要有UHCI和OHCI两种规范。上层的应用软件对系统的USB设备进行访问是通过文件系统的形式进行的。每个连接到系统总线上的USB设备可以同时对应一个或多个驱动程序,即每个USB设备可以在Linux系统上设置一个或多个节点供应用程序使用。由于USB接口为主从方式和多设备连接的树状网络结构,所以USB主机必

6、须具备对所有连接在总线上不同类型的USB设备进行配置管理的功能。LinuxUSB主机驱动程序可以同时支持多路USB总线功能,每路USB总线独立工作。USB主机驱动由USB主机控制器驱动(HCD),USB驱动(USBD)和不同的USB设备类型驱动三部分组成。图2描述了LinuxUSB驱动程序的结构。Linux定义了通用请求块(UniversalReqlaestBlock,URB),用来在USB设备类驱动程序与USBD,USBD与HCD间进行数据传输。2如何学习嵌入式之USB无线网卡驱动如何学习嵌入式所有的Linux网络驱动程序都遵循通用的接口。设计时采用面向对象

7、的方法,即一个设备就是一个对象(netdevice结构),它内部有自己的数据和方法。一个网络设备最基本的方法有初始化、发送和接收。Linux网络驱动程序的结构可以划分为网络协议接口、网络设备接口、设备驱动功能和网络媒介四层。网络驱动程序中最主要的工作就是完成设备驱动层功能,使其满足所需要的功能。2.2如何学习嵌入式之LinUX网络驱动程序结构与PCI,ISA等设备不同,USB,1394等新一代总线没有IO/MEM映射、中断和DMA硬件资源,取而代之的是抽象出来的硬件资源概念。对USB设备来说,资源主要包括配置(configuration)、接口(inteRFa

8、ce)和端点(endpoint)。这些

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。