基于ARM11的无线AP模式下的通信设计
任康磊;卢雷;林金星;蔡术亚
【摘 要】The Linux system is properly cut and compiled,and transplanted into the ARM11 microprocessor.After graphical interface config-uration for network card directly through the Linux2.6.38 kernel,the system can fully support the AR9271 card,and then uses the hostapd application matched with its configuration f,opening the AP mode.In the absence of the routers,we can construct a range of wireless local area network,which can enhance the scalability and mobility of the entire system.At the same time,based on the socket to de-sign the C/S mode of network communications,it makes the remote PC and the remote server ARM11 constitute wireless communication. Experiments show that ARM11 in the AP mode can not only establish a stable and reliable wireless network communication with remote PC in different scenarios,but also improve the effect of communication to a certain extent for common communication ills due to the construc-tion of a small area LAN expanding the communication range.%主要对Linux系统进行适当的裁
剪、编译后,移植到ARM11微处理器中,并直接通过Linux2.6.38内核对网卡进行图形化界面的配置,使系统能够完全支持AR9271网卡,然后再利用hostapd应用程序与其配置文件f相配合,开启AP模式,在无需路由器的情况下即可构建一定范围内的无线局域网络,增强了整个系统的可扩展性和移动性;同时,在sock-et套接字基础上,设计了C/S模式下的网络通信,使远程PC与ARM11远程服务器实现无线通信.实验结果表明,设置在AP模式下的ARM11不仅能在不同场景下与远程PC构成稳定、可靠的无线网络化通信,而且针对常见的通信弊病,因构建的小范围局域网能够扩展通信范围,对通信具有一定的改善效果.
【期刊名称】《计算机技术与发展》韦东山嵌入式linux视频
【年(卷),期】2018(028)002
【总页数】4页(P178-181)
【关键词】ARM11;移植;配置;hostapd;AP;socket
【作 者】任康磊;卢雷;林金星;蔡术亚
【作者单位】南京邮电大学 自动化学院,江苏 南京210023;南京邮电大学 自动化学院,江苏 南京210023;南京邮电大学 自动化学院,江苏 南京210023;江苏英达思自动化技术有限公司,江苏 南通224600
【正文语种】中 文
【中图分类】TP31
0 引 言
随着通信和网络技术的迅猛发展,WiFi技术的发展尤为突出。随着WiFi在生活中应用的进一步深化,各行各业都对无线网络部署提出了“全覆盖、高速率、简单管控”的需求[1-3]。但是,在学校、大型商场、公共场所等一些场景下,无线覆盖往往面对着信号盲区、速率低下、管控复杂等挑战。在此情况下,在部署WLAN时,应根据现场环境中的信号障碍因素、无线覆盖范围、吞吐量等进行评估,可使用无线AP(access point)作为另一种无线通信的选择[4-6]。
近年来,科研人员对无线网络化的研究主要集中在WiFi、ZigBee、3G等场景中,价格昂贵
且系统软件实现复杂。而对无线AP的研究相对较少,无线AP具有功耗低、价格适中、易安装、辐射范围广且传输速率高等优点[7-8]。
综上所述,将无线AP与嵌入式技术相结合进行无线网络通信的研究,对未来的学术科研具有一定的参考价值。
1 整体设计
文中设计的基于AP模式的远程PC与ARM11通信的总体结构如图1所示。将S3C6410作为控制核心,AR9271无线网卡作为通信媒介,开启AP模式,无需路由即可构建远程控制的无线局域网,基于socket套接字实现与远程PC的无线通信。
图1 平台整体框架
2 硬件设计
2.1 开发板资源
选用的ARM11系列微处理器是Samsung公司近年推出的新一代16/32位RISC处理器,并且
采用新指令架构ARMv6,以ARM1176JZF-S为内核,微处理器芯片为S3C6410,其核心时钟频率最高可达667 MHz;拥有的外部存储器有Nand Flash、DDR RAM等;同时,S3C6410内部还内置大量的片上接口,常用的有PWM接口、4通道定时器、GPIO、USB以及SD主设备等[9-10],内部功能结构如图2所示。为减少S3C6410对内存的占有、延长Nand Flash的使用寿命、方便用户使用,S3C6410还可将Linux系统导入SD卡中,使ARM直接从SD卡启动。
图2 S3C6410内部功能结构
2.2 USB无线网卡选型
为实现PC与ARM11的远程通信,选用型号AR9271的USB无线网卡。该网卡工作频率可以达到2.4~2.483 5 GHz,支持IEEE 802.11n/g/b,传输效率高达300 Mbps,并采用差分二进制相移键控等调制方式,能够满足局域网内数据传输控制的要求。
3 软件设计
3.1 嵌入式Linux操作系统
3.1.1 交叉编译环境的建立
利用计算机上丰富的封装库资源来设计程序,再安装适合编译环境的交叉编译工具链,编译生成可执行文件,最后下载到目标板上进行测试[11]。文中VMware虚拟主机上的Linux为Redhat 6,交叉编译器为友善之臂公司提供的arm-linux-gcc-4.5.1。建立交叉编译工具链的步骤如下:
#cd/tmp
#tarxvzfarm-linux-gcc-4.-C/
#gedit /root/.bashrc
修改export PATH=$PATH:/opt/FriendlyARM/
toolschain/4.5.1 /bin
3.1.2 配置和编译U-boot
所涉及到u-boot配置和编译,使用的是u-boot-s3c6410,该版本支持S3C6410从SD和Nand flash两种方式启动,因考虑到Nand flash的使用寿命和实验便捷的需要,采用SD卡启动方式[12]。
编译结束后,在当前目录下会生成后缀是bin,且支持SD卡驱动的文件,只需将它烧写到SD卡中,设置开发板从SD卡启动即可。
3.1.3 内核移植
所谓移植就是在一些现成内核的基础上,根据硬件配置及实验目的需要,利用make menuconfig进行适当的剪裁,保存关闭即可[13],如图3所示。
图3 make menuconfig配置界面
内核选用的是Linux 2.6.38。移植过程如下:
#cd /opt/FriendlyARM/6410/linux/linux-2.6.38
#cpconfig_linux_s3c6410 .config
#make zImage
编译结束,在所对应的boot目录下生成内核文件zImage,将其烧到SD卡中。
3.1.4 文件系统的制作
根文件系统是用来存放系统运行时所需的各种脚、配置文件、库文件和相关工具软件的。它是系统启动时运行的第一个文件系统。该部分选用的是yaffs2格式的文件系统,制作步骤如下:
# cd/opt/FriendlyARM/6410/linux
#mkyaffs2image-128M\rootfs_qtopia_qt4\rootfs_qtopia_qt4.img
把rootfs_qtopia_qt4目录压制为yaffs2格式的rootfs_qtopia_qt4.img映像,将其烧到SD卡中。
综上所述,将配置、编译完成的U-boot、zImage、yaffs2烧写到SD卡中,并将SD设置成引导启动。当开发板启动时将会自动加载Linux系统。
3.2 网卡驱动配置和接入功能的实现
Linux2.6.38内核已支持无线网络通信功能,但需要进行配置后才可使用。因此,使用图形界面对内核进行配置,使内核支持USB2.0协议、IEEE802.11协议、TCP/IP协议和读写E2PROM。完成以上配置后,系统就能完全支持USB接口的网卡。内核配置无线网卡驱动方法如下:
(1)执行make menuconfig命令,分别对内核中Networking support和Device Driver作适当的裁剪,分别勾选出对应的Wireless和Wireless Cards相关配置项,再编译并下载至S3C6410;
(2)将后缀名称为fw格式的无线网卡文件放到库文件firmware下。
建立远程PC客户端与ARM服务器的通信,需要USB网卡工作在AP模式,开启无线接入功能,使系统无需路由器即可构建局域网。USB网卡的无线接入可利用hostapd实现,hostapd可以是一种AP的认证服务器,负责控制管理站的接入和认证,也可以是一种在Linux上构建无线接入点较为方便的工具。通过hostapd可以将无线网卡切换为AP模式,通
过修改配置文件,可以建立一个开放式的WEP、WPA或WPA2无线网络[14]。具体步骤如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论