如何把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,会看到驱动源码目录下有一个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插入到平板即可。
如何把rtl8188EUS驱动编译生成ko模块并且下载到rk平台Android4.2.2上使用的更多相关文章
- 一步一步实现Linux设备驱动的Helloworld模块
学了那么多程序语言,总是有一个Hello world开头,不禁感叹Hello world的强大.呵呵,废话少说,咋们的故事当然要从这个Hello world开始. 先查看自己OS使用的内核版本[don ...
- Ubuntu ko模块的编译
http://blog.csdn.net/tugouxp/article/details/69053633 Linux .ko模块的生成方式 http://blog.csdn.net/fouweng/ ...
- ov5640 video capture时,vfe_v4l2.ko模块挂掉问题分析
1.问题描述 在r16 tina平台,基于ov5640获取摄像头数据时,vfe_v4l2.ko模块挂掉. 2.配置信息 2.1上层应用设置的像素格式为V4L2_PIX_FMT_YUYV,分辨率为480 ...
- 驱动中遍历模块,以及获取ntoskrnl.exe基址
方法是基于PsLoadModuleList方式 驱动中遍历模块 一丶简介 简介: 进入内核了.遍历内核中使用的模块该怎么办. 其实在驱动中.我们的DriverEntry入口位置. 提供了两个参数. 一 ...
- STC8H开发(五): SPI驱动nRF24L01无线模块
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
- STC8H开发(十五): GPIO驱动Ci24R1无线模块
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
- STC8H开发(十六): GPIO驱动XL2400无线模块
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
- 电信NBIOT 4 - NB73模块上行测试(NB73-电信平台-自己平台)
电信NBIOT 1 - 数据上行(中国电信开发者平台对接流程) 电信NBIOT 2 - 数据上行(中间件获取电信消息通知) 电信NBIOT 3 - 数据下行 电信NBIOT 4 - NB73模块上行测 ...
- python 模块 chardet下载及介绍
python 模块 chardet下载及介绍 在处理字符串时,常常会遇到不知道字符串是何种编码,如果不知道字符串的编码就不能将字符串转换成需要的编码.面对多种不同编码的输入方式,是否会有一种有效的 ...
随机推荐
- dependency的scope
scope作用域,一共有三种作用域:compile(编译).runtime(运行).test(测试) 备注:打包必经compile阶段 1.test 测试 2.compile 编译 打 ...
- php-fpm 信号
使用信号之前,需要先确保php-fpm.conf 里面有配置pid,默认是被注释掉的. ;pid = run/php-fpm.pid 文件在 php安装目录/var/run/php-fpm.pid 信 ...
- SaltStack部署配置Tomcat-第三篇
实验目标 简单部署tomcat及安装java环境 实现步骤 编写salt的状态模块 [root@linux-node1 web]# pwd /srv/salt/base/web [root@linux ...
- spring-security权限控制详解
在本例中,主要讲解spring-boot与spring-security的集成,实现方式为: 将用户.权限.资源(url)采用数据库存储 自定义过滤器,代替原有的 FilterSecurityInte ...
- heatbeat-gui实现基于nfs的mysql高可用集群
一.简述HA高可用集群 高可用集群就是当集群中的一个节点发生各种软硬件及人为故障时,集群中的其他节点能够自动接管故障节点的资源并向外提供服务.以实现减少业务中断时间,为用户提供更可靠,更高效的服务. ...
- java httpUtil
public class HttpUtils { public static String getContent(String url, Map<String, String> heads ...
- 独家git clone 加速方法
git clone 独家方法 最近需要下载网上很多github库,所以git clone 4kb/s 的速度可以把人逼疯,为了加速git clone才有了这篇博客 网上有很多加速的方案 比如 blog ...
- [解决]JS失效,提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
上网找了找,木有找到相关的解决办法,索性自己试了试. 原页面是这样写的: <html> <head> <meta http-equiv="Content-Typ ...
- python 编程测试练习2
1.将A.txt(多行)文件的内容读取出来写入到B.txt中 2.总结 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚 ...
- JDBC 的 PreparedStatement 与 Statement
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...