基于ARM体系的WIFI移植研究.docx

上传人:b****6 文档编号:8560855 上传时间:2023-01-31 格式:DOCX 页数:7 大小:25.38KB
下载 相关 举报
基于ARM体系的WIFI移植研究.docx_第1页
第1页 / 共7页
基于ARM体系的WIFI移植研究.docx_第2页
第2页 / 共7页
基于ARM体系的WIFI移植研究.docx_第3页
第3页 / 共7页
基于ARM体系的WIFI移植研究.docx_第4页
第4页 / 共7页
基于ARM体系的WIFI移植研究.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

基于ARM体系的WIFI移植研究.docx

《基于ARM体系的WIFI移植研究.docx》由会员分享,可在线阅读,更多相关《基于ARM体系的WIFI移植研究.docx(7页珍藏版)》请在冰豆网上搜索。

基于ARM体系的WIFI移植研究.docx

基于ARM体系的WIFI移植研究

邮局订阅号:

/年技术创新

ARM开发与应用

PLC技术应用200例》

基于ARM体系的WIFI移植研究

StudyonwifitransplantationforArmsystem

(北京航空航天大学

邹意然王永威赵龙

ZOUYi-ranWANGYong-weiZHAOLong

摘要:

在嵌入式系统的应用过程中,为解决高效率的信息传递和网络节点的自由添加删除等问题,本文提出了无线网卡在ARM9体系中实现设备驱动和配置及无线局域网搭建的方案,该方案通过对无线网卡设备驱动和相关设配置工具的移植,实现了无线网卡在嵌入式系统的使用和配置,以C语言为开发语言,实现了无线局域网中不同节点的实时通信,并传递多媒体信息。

以低成本,高性能实现了嵌入式设备间的自主组网,以模块化方便了相关产品的二次开发。

关键词:

ARM9;WIFI;无线局域网;设备驱动加载中图分类号:

TP391.4文献标识码:

A

Abstract:

Inapplicationprocessofembeddedapplicationsystems,transmittingtheinformationefficientlyandchangingthenetworknodesfreelyaretheproblems.Tosolvetheaboveproblems,thispaperbroughtforwardanewmethodtoconfigureandactualizetheWLANWirelessLocalAreaNetworksinthearm9embeddedapplicationsystems.BytailoringthedevicedriverandconfiguretoolstotheLinuxsystem,WLANWirelessLocalAreaNetworksinthearm9embeddedapplicationsystemsisachieved.ByusingtheCpro-gramminglanguage,thecommunicationofdifferentnodesintheWLANWirelessLocalAreaNetworksandthevideoframetransfersareachieved.Thismethodmakethedevelopmentofwirelesslanintomodules,soitisconvenientforrelationalproduction’srepeat-edlydevelopment

Keywords:

arm;WIFI;WLANWirelessLocalAreaNetworks;devicedrivermodprobe

文章编号:

1008-0570(201011-2-0067-03

1引言

嵌入式设备的飞速发展使人们在生活的每一个细微之处都体验到网络的便捷。

传统的嵌入式组网方案的研究都是使用有线网络,有线网络的缺点是终端受网络连接的限制大,无法将有线网络应用到移动终端设备中去,且不方便实现自由添加和删除网络节点。

针对有线网络的缺点,本文研究了基于ARM体系的WIFI无线网络设备搭建和配置方法。

结合实际系统移植过程中的一些实际问题,给出相应的解决方办法,为实际应用奠定基础。

2开发研究的工具环境

本系统中使用的无线网卡为WIFI-SKYWS3680UG-8G,其芯片为zd1211b。

在linux2.6内核中有该网卡的驱动。

为方便调试程序,在本系统中使用的Linux系统为Fedora

8。

该系统的gcc编译器的版本与现有的无线网卡驱动源码相

兼容。

虽然Fedora8的内核中已经带有zd1211b无线网卡的驱动,但在调试时无法完成对网卡的配置,因此利用网卡驱动的源码重新生成驱动模块并加载到内核中,具体实现步骤如下:

1将设备驱动源码拷贝至根目录下;

2在终端中执行make命令,使其运行makefile脚本;

3在终端中执行makeinstall,生成无线网卡的设备驱动模

块;

4将编译好的模块移到/lib/modules/2.4.18-3/kernel/drivers/net下;

5在终端中执行depmod–a命令,即更新系统的设备驱动列表,使系统识别新加入的设备驱动;

6在终端中执行modprobezd1211b命令,加载设备驱动;7在终端中执行lsmod命令,即可看到已加载的设备驱动。

2.1硬件配置

硬件平台选用性价比较高的FriendlyArmS3C24440开发板,其硬件特性如下:

*CPU处理器:

S3C2440A;

*FLASH存储器为128MNandFlash;

*USB总线及接口:

1个USBHost,1个USBSlave。

2.2软件系统

由于Linux操作系统与C语言的无缝接合,使其具有较灵活的移植性,所以Linux操作系统在嵌入的应用有着先天性的优势。

再加上其免费和开源两大特点,更是倍受开发者的青睐。

基于ARM体系的WIFI无线网的软件系统分为三大部分:

*Boatloader:

supervivi;*Kernel:

linux2.6.29;*文件系统:

yaffs。

3WIFI移植的实现

所谓WIFI,其实就是IEEE802.11b的别称,是由一个名为“无线以太网相容联盟”(WirelessEthernetCompatibilityAlliance,

WECA的组织所发布的业界术语,中文译为“无线相容认证”。

邹意然:

学生

基金项目:

基金申请人:

邹意然;项目名称:

嵌入式智能汽车编队;基金颁发部门:

国家大学生创新计划(教育部SRTP

(091000608

67--

术创新

《微计算机信息》(嵌入式与SOC2010年第26卷第11-2期

年邮局订阅号现场总线技术应用200例》

ARM开发与应用

是一种短程无线传输技术,能够在数百英尺范围内支持互联网接入的无线电信号。

3.1内核驱动的加载

如果使嵌入式操作系统外挂的USB设备正常工作,首先要加载USB总线的设备驱动,其次加载相应设备的驱动。

其中加载设备驱动有两种方法:

*将设备驱动编译成*.ko模块,加载到现有内核,即动态加载;

*将设备驱动直接编译到系统内核,然后用新内核重新引导启动,即静态加载。

两种方法各有千秋,动态加载不用改变现有内核,只需将编译好的模块下载到开发板中,用insmod或modprobe命令载入即可,但它依赖于现有内核的shell命令中是否已经存在insmod或modprobe命令(可在/bin目录下查看是否存在已经移植的shell命令;还有移植者能否找到现有USB摄像头的驱动源码也是影响移植成功与否的关键因素。

静态加载过程简单,不需要额外shell命令支持,只需提供符合需求的内核镜像即可。

为减少开发的时间成本,决定采用静态加载的方式,并采用linux内核中自带的zd1211b无线网卡驱动。

由于linux2.6.29得默认配置中没有zd1211b无线网卡驱动

所以需要自己重新定制内核。

定制所需内核的具体实现过程如下:

*将源码拷到指定目录下并运行makemenuconfig命令;*依次选中networkingsupport-->wireless-->GenericIEEE802.11NetworkingStack(mac80211协议栈;

*依次选中devicedrivers-->networddevicesupport-->wirelsslan-->ZyDASZD1211/ZD1211BUSB-wirelesssupport驱动支持;

*保存配置退出;

*执行makezImage命令,编译生成内核镜像。

3.2Firmware的移植

对于移植过程中所需要的认证信息zd1211Firmware1.4从网络(

上获取,并根据Firmware的说明,将其中的zd1211_*文件拷贝到目标机的根文件系统下的/lib/firmware/zd1211目录中。

3.3无线网卡配置工具wireless-tools移植

对于安装成功后,利用Linux下的无线网卡配置工具wire-less-tools(线网卡进行配置。

在编译配置工具wireless-tools的过程中,首先将源代码解压;其次修改其中的makefile文件中的脚本信息,其示意图如图1所示;然后执行make命令,生成目标文件,将其中的iwconfig文件和iwlist文件拷贝到目标机根文件系统中的/bin目录下,将libiw.so.29拷贝到/lib目录下,完成配置工具wireless-tools的移植。

图1编译脚本的修改

4无线网组建的配置

4.1Ad-Hoc无线策略的简介

Ad-Hoc结构是一种省去了无线AP而搭建起的对等网络

结构,只要安装了无线网卡就可实现计算机彼此之间的无线互联。

其原理是网络中的一台电脑主机建立点对点连接相当于虚拟AP,而其它电脑就可以直接通过这个点对点连接进行网络互联与共享。

4.2Ad-Hoc的配置

在WIFI的实际移植过程中,无线网卡在嵌入式系统中的设备名称为wlan0,但针对不同的嵌入式系统,设备名称可能不同。

对wlan0配置过程如下:

图2Ad-hoc网络的配置

5网络传输文件的实现

5.1Linux环境下Socket编程简介

Socket接口是TCP/IP网络的API接口,是支持linux系统中通用网络接口;网络Socket数据传输是一种特殊的I/O接口。

Socket也是一种文件描述符,可用一个类似于打开文件的函数调用Socket(,该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。

常用的Socket类型有两种:

流式Socket(SOCK_STREAM和数据报式Socket(SOCK_DGRAM。

流式是一种面向连接的Socket,面向连接的TCP服务应用流式Socket可以保证数据传输中的完整性、正确性和单一性,可类比于现实生活中的打电话;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。

数据报式Socket可以象流式Socket一样进行数据的双向传输,

但无法保证传输数据的完整性、正确性和单一性。

可以类比于现实生活中的寄信。

5.2数据接收端

数据接收端程序设计流程如图4所示。

图3数据接收端程序设计流程

数据接收端首先调用socket函数创建一个Socket,然后调用bind函数将其与本机地址以及一个本地端口号绑定,然后调用listen在相应的socket上监听,当accpet接收到一个连接服务请求时,将生成一个新的Socket。

当接收数据完成后,关闭该

Socket。

5.3数据发送端

数据发送端程序设计流程如图5所示。

图4数据发送端程序设计流程

数据发送端程序首先根据设定好的数据接收端IP地址创

--

邮局订阅号:

/年技术创新

ARM开发与应用

PLC技术应用200例》

建一个Socket,调用connect函数与服务器建立连接,连接成功后向数据接收端发送数据,发送完数据后后关闭Socket。

5.4实验结果

在arm平台下,对所移植的无线网卡进行测试,成功的找到了自己搭建的网络名为“111”的ad-hoc无线网络,相关搜索信息如下

Cell02-Address:

02:

1B:

77:

00:

27:

0AESSID:

”111”Mode:

Ad-HocChannel:

11Frequency:

2.462GHz(Channel11Quality=82/100Signallevel:

57/100Encryptionkey:

offIE:

Unknown:

0003313131

BitRates:

1Mb/s;2Mb/s;5.5Mb/s;11Mb/s;6Mb/s9Mb/s;12Mb/s;18Mb/s;24Mb/s;36Mb/s48Mb/s;54Mb/sExtra:

tsf=00000000073ee245

6结束语

通过对ARM体系的WIFI无线网移植的研究,制定出了一套切实可行,低成本高效率的基于ARM体系的无线网搭建方案,无论是对控制信息,还是实时监控信息的传递都可以胜任,特别适用于在嵌入设备中的无线网络的推广应用。

参考文献

[1]XX百科.[EB/OL].

[2]徐磊.Linux系统下C程序开发详解.[M]北京:

电子工业出版社,2008年.

[3]W.RichardStevens.StephenA.Rago.AdvancedProgrammingintheUNIXEnvironmentSecondEdition.[M]尤晋元张亚英戚正伟译.北京:

人民邮电出版社,2005年.

[4]张曦煌,柴志雷.Linux中TCP/IP协议实现及嵌入式应用.[M]北京:

北京航空航天大学出版社,2008年.

[5]崔彦波,白焰等.工业短程无线网络通信节点的设计[J].微计算机信息.2010,2-2:

177-179

作者简介:

邹意然,男,1988年7月,汉族,吉林长春市,北京航空航天大学本科生。

主要研究方向:

嵌入式平台应用开发,web开发;王永威,男,汉族,江苏宿迁市,北京航空航天大学硕士研究生。

主要研究方向:

嵌入式系统,网络通信,sip软交换系统;赵龙,男,满族,内蒙赤峰市,北京航空航天大学数字导航中心,副教授。

主要研究方向:

数字导航技术。

Biography:

ZOUYi-ran,male,bachelormajor:

applicationdevel-opmentofembeddedsystem,applicationdevelopmentofweb.

(100191北京北京航空航天大学控制一体化技术国家级重点实验室王永威赵龙

(NationalKeyLaboratoryofScienceandTechnologyonIn-tegratedControlTechnology,BUAA,Beijing100191,ChinaZOUYi-ranWANGYong-weiZHAOLong

通讯地址:

(100191北京航空航天大学控制一体化技术国家级重点实验室邹意然

(收稿日期:

2010.03.30(修稿日期:

2010.06.30

(上接第64页

4.3数据存储子程序

字节读子程序:

R0中存放块内写入单元的地址;R1中存放待写入的数据;R2中存放控制字节。

字节写子程序:

R0中存放块内读出字节的地址;R2中存放控制字节,其最低位为0。

5结语

电缆井水位监测系统是一种无人值守的自动化、智能化的监测系统,采用实时时钟芯片作为记录监测系统中的数据记

录;采用节能技术,可使用电池供电等突出特点。

还可广泛应用于地震前兆及地下水动态监测、水利部门地下水观测、环境保护部门地下水观测等领域。

不仅减轻了运行与维护人员的工作量和劳动强度,还能够更准确更及时的进行报警与排水处理。

图3系统主程序流程图

参考文献

[1]沈德金等.MCS251系列单片机接口电路与应用程序实例.北京航空航天大学出版社

[2]樊尚春.传感器技术及应用[M].北京航空航天大学出版社,2004.

[3]潘新民,王燕芳.微型计算机与传感器技术[M].北京:

人民邮电出版社,1988

[4]郝迎吉.远距离水位智能监控系统的研究与实现.仪器仪表学报.2004(6

[5]马福昌.地下水位动态监测新技术.山西水利.2005(l

[6]曹菁,洪雪峰等.基于PLC的水位传感器测试系统研究[J].微计算机信息.2007

作者简介:

余义德,男,1975年1月出生,汉族,河南信阳人。

辽宁省大连市91550部队93分队工程师,主要研究方向:

水下测量技术;呼志刚,男,1985年10月出生,汉族,山东潍坊人。

中国海洋大学信息科学与工程学院在读硕士研究生。

专业:

信号与信息处理。

Biography:

YUYi-de,male,bornin1975.1,han,engineerof93brigadeof91550PLAtroops,inDalian,LiaoningProvince.Ma-jorinUnderwatermeasurementtechnique.

(116023大连辽宁省大连市91550部队93分队余义德(266110中国海洋大学信息科学与工程学院呼志刚

通讯地址:

(116023辽宁省大连市91550部队93分队余义德

(收稿日期:

2010.03.08(修稿日期:

2010.06.08

《PLC应用200例》110元/本(免邮资汇至

《现场总线技术应用200例》

55元/本(免邮资汇至

地址:

北京市海淀区中关村南大街乙12号天作1号楼B座812室微计算机信息邮编:

100081电话:

010-62132436010-82168297(T/F

69--

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1