android ko 编译,如何把rtl8188EUS驱动编译生成ko模块并且下载到rk平台Android4.2.2上使用...
下了rtl8188EUS_linux_v4.3.24_16705.20160509.tar.gz,看了里面的数据手册,发现有些看不懂,上网搜了一下,发现大部分博客都在扯淡。。。后来还是我把Makefile一句一句的看完才知道怎么做。具体应该怎么编译成我需要的模块呢?我的平台是rk3168。1、解压缩rtl8188EUS_linux_v4.3.24_16705.20160509.tar.gz,会看到
下了rtl8188EUS_linux_v4.3.24_16705.20160509.tar.gz,看了里面的数据手册,发现有些看不懂,上网搜了一下,发现大部分博客都在扯淡。。。后来还是我把Makefile一句一句的看完才知道怎么做。
具体应该怎么编译成我需要的模块呢?我的平台是rk3168。
1、解压缩rtl8188EUS_linux_v4.3.24_16705.20160509.tar.gz,会看到驱动源码目录下有一个Makefile
2、打开Makefile
(1)屏蔽无关平台,默认这个驱动是I386_PC,我们这里是RK平台,这个要去掉,然后把RK的选上:
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RK2818 = y (这个参考网友的博客配置)
(2)指定交叉编译工具链和内核源代码的路径:
ifeq ($(CONFIG_PLATFORM_ARM_RK2818), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFORM_ROCKCHIPS
ARCH := arm
#CROSS_COMPILE := /usr/src/release_fae_version/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
CROSS_COMPILE := /mnt/sdb1/yangyx/20170323_PROJECT_1088/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
KSRC := /mnt/sdb1/yangyx/20170323_PROJECT_1088/kernel/
MODULE_NAME := 8188eu
endif
其中CROSS_COMPILE指的是交叉编译工具链的位置,由于我的平板是使用Android自带的交叉编译工具链接,所以要指定它在PC系统上的绝对路径:
/mnt/sdb1/yangyx/20170323_PROJECT_1088/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
KSRC是内核源代码的路径,我的内核源代码路径在:/mnt/sdb1/yangyx/20170323_PROJECT_1088/kernel/
最后指定生成的ko文件的名称为:8188eu.ko
(3)将驱动编译为ko的形式:
大约在1670行,将以下脚本注释:
#obj-$(CONFIG_RTL8188EU) := $(MODULE_NAME).o
修改成:
obj-m := $(MODULE_NAME).o
接下来直接在这个wifi源码驱动下make就会看到8188eu.ko生成了。后续测试的步骤也很简单,将平板的8188eu.ko卸载,后将刚编译好的8188eu.ko插入到平板即可。
本文同步分享在 博客“Engineer-Bruce_Yang”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
更多推荐
所有评论(0)