RTL8188eus驱动版本:
RTL8188EUS_linux_v4.3.0.3_10997.20140327.zip,该驱动源码包支持rtl8188eus和rtl8188etv的芯片。
一、交叉编译wireless_tools工具:
cd RTL8188EUS_linux_v4.3.0.3_10997.20140327/wireless_tools/
tar -xvfwireless_tools.30.rtl.tar.gz
cdwireless_tools.30.rtl/
修改Makefile即可交叉编译,具体方法见上一篇博客文章:《Wireless工具移植之wireless tools》
二、rtl8188eus驱动移植:
2.1解压源码包:
cd driver/
tar -xvfrtl8188EUS_linux_v4.3.0.3_10997.20140327.tar.gz
cd rtl8188EUS_linux_v4.3.0.3_10997.20140327/
2.2、修改Makefile,找到自己的嵌入式平台,如果没有,就按照下面的例子添加:
vi Makefile
添加HI35XX平台相关的交叉编译工具:
######################Platform Related #######################
CONFIG_PLATFORM_ARM_HI35XX= y
########################add #########################
ifeq ($(CONFIG_PLATFORM_ARM_HI35XX), y)
EXTRA_CFLAGS+= -DCONFIG_LITTLE_ENDIAN
ARCH:= arm
CROSS_COMPILE:= arm-hisiv100nptl-linux-
KVER:= 3.0.y
KSRC:= /work/Hi3518_SDK_V1.0.A.0/osdrv/kernel/linux-3.0.y
INSTALL_PREFIX:= /work/IPCAM_LIB/Wireless/RTL8188eus
MODULE_NAME:= rtl8188eu //最终生成为rtl8188eu.ko
endif
########################end #########################
参数说明:
EXTRA_CFLAGS:The EXTRA_CFLAGS is usually usedto carry some additional settings at compilation time through macrodefinitions.
CONFIG_BIG_ENDIAN: Define some internal datastructure as big endian.
CONFIG_LITTLE_ENDIAN: Define some internal datastructure as little endian.
CONFIG_MINIMAL_MEMORY_USAGE:Forbetter performance in powerful platform, we allocate large physical continuousmemory as TX/RX IO buffers. In some embedded platform, there is chance to failto allocate memory. Define this
macro to prevent this situation.
CONFIG_PLATFORM_ANDROID:Older Android kernel do not hasCONFIG_ANDROID defined. Define this macro to force the Android correspondingcode inside our driver to be compiled. For newer Android kernel, it has no needto define
this macro, otherwise, warning message about redefinition will showup.
ARCH:The ARCH is used to specify thearchitecture of the target platform CPU, such as:arm, mips, i386, etc.
CROSS_COMPILE:The CROSS_COMPILE is used tospecify the toolchain prefix used for driver compilation.
KSRC:The KSRC is used to specify the pathof kernel source used for driver compilation.
MODULE_NAME:Different module name is assignedto drivers for different chips:
Chip type Defaultmodule name
RTL8192CU-series 8192cu
RTL8192CE-series 8192ce
RTL8192DU-series 8192du
RTL8192DE-series 8192de
RTL8723AS-series 8723as
RTL8723AU-series 8723au
RTL8189ES-series 8189es
RTL8188EU-series 8188eu
RTL8723BS-series 8723bs
RTL8723BU-series 8723bu
If you wantto change the module name, you can set value of MODULE_NAME
here.
2.3、编译生成目标文件:
make
生成的文件名即你在Makefile中指定的MODULE_NAME以.ko为后辍。