APP下载

基于研华i.mx6平台的无线网络应用开发

2016-09-26彭斯婷

卷宗 2016年7期
关键词:开发板专业性网卡

摘 要:本文主要介绍在以研华Freescale i.mx6处理器为核心的硬件平台和Linux操作系统上,移植EDUP EP-N8508GS无线网卡驱动,并連接上网络,接受其他无线电子设备的访问的开发过程。

关键词: Freescale i.mx6;Linux;EDUP EP-N8508GS;无线网络

Abstract:This article mainly introduces the process of development to transplant EDUP EP-N8508GS driver and build a network for all kinds of electronic equipment to connect, based on the hardware platform with the core freescale i.mx6 processor and Linux operating system.

Key words: Freescale i.mx6;Linux;EDUP EP-N8508GS;Wireless network

1 引言

由于手机、平板和笔记本电脑等便携式设备的应用日渐广泛,用户在专业的工作中,如果可以使用便携式设备查看和分析专业性设备检测数据,生成分析报告,完成工作任务,那样效率会提高不少,并且也减少对昂贵的专业性设备非必要的占用。作为专业性设备的开发人员,在嵌入式设备的开发中,引入无线网络,可以给用户提供一个便捷的访问通道,使产品更加人性化,增加产品的市场竞争力。

本文主要介绍在以研华Freescale i.mx6处理器为核心的硬件平台和Linux操作系统上,移植EDUP EP-N8508GS无线网卡驱动,并连接上网络,接受其他无线电子设备的访问的开发过程。

2 无线网络环境搭建基本思路

要在嵌入式设备上使用无线网络功能,需要以下几步。首先,需要硬件的支持,本项目是以研华Freescale i.mx6为核心的硬件平台,无线网卡采用的是EDUP EP-N8508GS。其次,需要在Linux内核里开启对无线网络的支持。第三,需要加载EDUP EP-N8508GS无线网卡的驱动。第四,启动无线网络,连接路由器。

3 无线网络环境搭建具体实现

3.1 内核开启对无线网络的支持

在硬件已经支持的条件下,要开启对无线网络的支持,首先需要内核的支持。在研华厂家提供的Linux3.0.5内核的默认配置下,还需要额外打开“enable usb wifi”的配置,另外在网络和驱动方面需要配置的内容有:

[*] Networking support --->

[*] Wireless --->

<*> cfg80211 - wireless configuration API

[*] Wireless extensions sysfs files

<*> Generic IEEE 802.11 Networking Stack(mac80211)

Device Drivers --->

[*]Network device support --->

[*] Wireless LAN --->

<*> IEEE 802.11 for Host AP (Prism2/2.5/3 andWEP/TKIP/CCMP)

[*] Support downloading firmware images withHost AP driver

[*] Support for non-volatile firmwaredownload

完成以上配置之后,重新编译内核后,将新内核烧写进开发板即可。

3.2 移植EDUP EP-N8508GS无线网卡驱动

目前,市场上的无线网卡的厂家一般都会提供驱动的源码。但是由于嵌入式系统的环境、编译器和Linux内核版本等各有不同,作为开发人员,我们还需要将源码编译成能在自己开发的系统上跑的驱动。EDUP EP-N8508GS无线网卡驱动移植大致需要以下几步。[1]

第一,下载realtek_rtl8192_1024驱动源码并解压缩。

第二,修改Makefile文件,使其适用于i.mx6核心板和Linux3.0.5内核。在Makefile文件中需要增加如下内容:

CONFIG_PLATFORM_IMAX6 = y

ifeq ($(CONFIG_PLATFORM_IMAX6), y)

EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN

ARCH := arm

KVER := 3.0.35

KSRC := /home/stndt/Desktop/7420LBV1170/source/linux-3.0.35

CROSS_COMPILE:=/home/stndt/Desktop/7420LBV1170/cross_compiler/fsl-linaro-toolc hain/bin/arm-none-linux-gnueabi-

endif

第三,编译驱动。

第四,将生成的“8192cu.ko”通过网络文件系统拷贝到开发板上/usr目录下,insmod usr/8192cu.ko,然后通过ifconfig -a便可以看到网络设备里增加了wlan0这一项。

3.3 wpa_supplicant工具的移植

直到3.2,无线网络已经启动了。要使其他电子设备能连接到这个无线网络,还需要将它连接到路由器上,这就需要用到wpa_supplicant工具。wpa_supplicant工具的移植步骤主要包括以下几步。

第一,下载wpa_supplicant-0.6.10.tar.gz和openssl-0.9.8e.tar.gz工具包源码并解压缩;

第二,将wpa_supplicant中的补丁拷贝到openssl中,修改MakeFile如下,使其适合i.mx6+Linux3.0.5平台,然后make,make install,此时,ssl库已经安装在虚拟机的/usr/local/ssl目录下了。

CC=/home/stndt/Desktop/7420LBV1170/cross_compiler/fsl-linaro-toolchain/bin/arm-none- linux-gnueabi-gcc

AR=/home/stndt/Desktop/7420LBV1170/cross_compiler/fsl-linaro-toolchain/bin/arm-none- linux-gnueabi-ar $(ARFLAGS) r

RANLIB=/home/stndt/Desktop/7420LBV1170/cross_compiler/fsl-linaro-toolchain/bin/arm-n one-linux-gnueabi-ranlib

INSTALLTOP=/usr/local/ssl

OPENSSLDIR=/usr/local/ssl

第三,编译wpa_supplicant。修改.config文件如下,并编译wpa_supplicant源代码。

CC=/home/stndt/Desktop/7420LBV1170/cross_compiler/fsl-linaro-toolchain/bin/arm-n one- linux-gnueabi-gcc -L/usr/local/ssl/lib/

CFLAGS += -I/usr/local/ssl/include/

LIBS += -L/usr/local/ssl/lib/

第四,通过第三步后即可看到wpa_supplicant和wpa_cli两个可执行工具。其中,wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。将wpa_supplicant和wpa_cli通过网络文件系统拷贝到开发板的/sbin目录下。将wpa_supplicant.conf文件拷贝到/etc,根据需要修改文件,增加已知路由器的参数,然后在开发板上执行如下内容,即可以看到wlan0的IP,此时,开发板已经通过无线网络连接到路由器上了。

#wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant.conf –Dwext &

#dhclient wlan0

#ifconfig -a

4 应用情景

在实际的应用中,由于专业的仪器身处的环境不同,可能需要连接不同的路由器,而客户不可能像开发人员一样手动去系统里面修改配置文件,因此真正要在实际工作上应用无线网络功能,还需要在设备的应用软件上开发网络设置功能,使用户可以通过人性化的UI来选择要连接的路由器,输入路由器密码,以及在设备软件上开启网络服务,随时接收来自其他电子设备的网络数据需求。这样,一个完整的无线网络服务器才算真正地完成。而作为专业仪器厂家,还需要开发在各类电子设备上的应用软件,如Windows应用软件、基于安卓系统的移动设备上使用的App等作为客户端来访问仪器。

5 结束语

无线网络通信的普及,给各行各业的工作带来了便捷。usb无线网卡在专业性設备上的应用,使专业性仪器可以便捷地连接到网络上,为各职能的客户使用和访问仪器提供便捷,减少客户对专业性仪器在数量上的需求,提高专业设备的复用性,增加产品的竞争力。作为仪器的开发人员,应该多站在客户的角度上思考,把先进的技术,融入到传统的专业性的设备上,开发出更加人性化的产品。

参考文献

[1]韦东山,嵌入式Linux应用开发完全手册 人民邮电出版社,2008,08.

作者简介

彭斯婷(1986-),女,广东省汕头市,助理工程师,学士学位,研究方向:超声探伤仪设备研发。

猜你喜欢

开发板专业性网卡
在DDS 中间件上实现双冗余网卡切换的方法
气象宣传新闻性和专业性融合的实践与思考
声博雅徐兆宪 音响零售,品牌+专业性不可或缺
中调协下发行业性专业性人民调解委员会专职人民调解员登记通知
Server 2016网卡组合模式
中宇银太陨石鉴定有限责任公司:专业性陨石鉴定机构
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
读编往来
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板