技术分享 | RK3568编译第三方驱动

我司IAC-RK3568-Kit基于Linux 4.19.232,搭载BuildRoot或Debian10操作系统。通常我们在使用外围设备模块时需要编译对应的驱动,如USB WIFI、USB BT等,那这里就以我司IAC-RK3568-Kit开发板为例,分享如何在当前内核下编译第三方驱动模块。

未命名(47).jpg

我们需要向模块供应商拿到一份适配Linux的驱动源码,这里主要是要向供应商确认驱动所适配的内核版本,若驱动版本大于内核版本,那编译时就会报错缺少相关头文件以及相关库函数,所以在编译之前请确认是否符合要求小于内核版本。

这里以USB网卡rtl8821CU为例,供应商提供驱动代码如下图所示:

图片

这里主要包含了一些常用工具以及驱动源码和编译配置文件Makefile。重要的是Makefile文件,打开Makefile文件,如下图所示(截取一部分):

图片

关注以下关键信息,如WIFI IC,CONFIG_RTL8821C等,默认情况下硬件配置信息根据所购买的模块驱动都已经配置好,如IC、Interface等,我们只需要大致看一眼没有明显错误即可,重要的还是驱动配置。

驱动配置主要是选择平台,这里分为Android与Linux。注意区别不同平台,Android和Linux平台在编译的时候所依赖的头文件不同,我们是Linux的,那么就选择Linux平台即可,如下图所示:

图片

根据所选平台配置,查看详细配置,如下图所示:

图片

这里是默认的配置,需要将其改为我们自己的路径,改完之后如下图所示:

图片

主要是修改ARCH架构,KSRC源码路径以及CROSS_COMPILE交叉编译器。配置修改完成之后只需要声明编译器就可开始编译。IAC-RK3568-Kit的内核编译器在sdk中,具体位置如下图所示:

图片

那我们声明一下编译器,命令如下:

图片

声明之后就可以在驱动源码路径下执行make命令编译,编译成功后会生成对应的.ko驱动模块文件,这个文件就是加载到kernel的驱动文件了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值