如何把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下载及介绍 在处理字符串时,常常会遇到不知道字符串是何种编码,如果不知道字符串的编码就不能将字符串转换成需要的编码.面对多种不同编码的输入方式,是否会有一种有效的 ...
随机推荐
- 20145328 《Java程序设计》第10周学习总结
20145328 <Java程序设计>第10周学习总结 资料学习内容总结 网络编程 13.1 网络概述 网络编程技术是当前一种主流的编程技术,随着联网趋势的逐步增强以及网络应用程序的大量出 ...
- yarn命令使用
yarn 常用命令 修改日期 2017.12.26 最初接触 yarn 还是在 0.17.10 版本,由于各种各样的原因,使用时没 npm 顺手, 目前 yarn 的版本已经升级为 1.3.2 各种之 ...
- python2与python3语法区别之_重定向
python2与python3两版本的区别是众所周知的,今天主要记录python下版本2 与版本3的区别 python2 In [7]: logfile = open('/tmp/mylog.log' ...
- OGNL与ValueStack(VS)-N语法top语法(转)
N语法[0]:<s:property value="[0]"/><br> N语法[1]:<s:property value="[1]&quo ...
- SEM关键词的三种分类方式
关键词分类是为了使sem账户搭建结构清晰便于管理关键词.基于对需求人群的深入分析,每个账户都有其独特的分类方式,比如招商加盟行业更多的是地域分类,品牌类企业通常用词性分类即可,而冷门行业用人群分类比较 ...
- Editor.md的安装使用(MarkDown)
1.官网下载:http://pandao.github.io/editor.md/ 2.使用例子: <!DOCTYPE html> <html lang="zh-cn&qu ...
- 回文树 Palindromic Tree
回文树 Palindromic Tree 嗯..回文树是个什么东西呢. 回文树(或者说是回文自动机)每个节点代表一个本质不同的回文串. 首先它类似字典树,每个节点有SIGMA个儿子,表示对应的字母. ...
- 把 b中的字段整合到a上
a = [{"id": 1, "data": 1}, {"id": 2, "data": 1}, {"id&q ...
- 使用sha512算法加密linux密码
查看当前主机的加密算法: [root@realserver ~]# authconfig --test |grep hashing password hashing algorithm is sha5 ...
- 9.深入理解AbstractQueuedSynchronizer(AQS)
1. AQS简介 在上一篇文章中我们对lock和AbstractQueuedSynchronizer(AQS)有了初步的认识.在同步组件的实现中,AQS是核心部分,同步组件的实现者通过使用AQS提供的 ...