T113-S3-RTL8822CU模块驱动移植

目录

前言

一、驱动源码获取

二、源码编译

三、驱动模块加载测试


前言

在嵌入式系统开发中,移植外部硬件设备的驱动是一个常见的任务。本文将分享如何在全志平台上成功移植RTL8822CU无线模块的驱动,以实现无线网络功能。


提示:以下是本篇文章正文内容,下面案例可供参考

一、驱动源码获取

驱动源码一般由模块厂商提供,本文主要根据RTL8822CU_WiFi_linux_v5.14.0.3-2-gba458274c_COEX20211210-2727.20220418.tar.gz驱动程序进行交叉编译移植。

二、源码编译

**1、源码解压:**使用如下命令解压源码。

cpp 复制代码
tar -zxvf RTL8822CU_WiFi_linux_v5.14.0.3-2-gba458274c_COEX20211210-2727.20220418

解压源代码目录如下图所示:

driver目录为驱动源码所在目录,目录结构如下所示:

2、Makefile修改。

查看Makefile结构,在平台关联配置项下添加T113-S3平台选项,并将该选项配置为"y",如下图所示:

仿照CONFIG_PLATFORM_ARM_SUN8I_W5P1配置项点添加T113配置项,如下图所示:

其中交叉编译器路径配置为:

cpp 复制代码
CROSS_COMPILE := /opt/QZ/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-

内核路径配置为:

cpp 复制代码
KSRC :=/home/cftc/workspace/QZ/T113-S3-V1.1-SDK-2022-09-20/sdk/out/kernel/build

驱动模块名称配置为:MODULE_NAME := wlan

3、驱动编译:

在当前目录执行 make 即可编译源码,编译报错如下图所示:

通过咨询模块厂家,得知platform_ARM_SUNxI_usb为android平台才会使用到,我们是在buildroot linux系统下使用,故无需包含该配置项点,修改Makefile配置如下图所示:

再次make clean,make即可成功编译驱动模块,正常编译如下图所示:

三、驱动模块加载测试

加载驱动报错,具体如下图所示:

通过Vs_intenal_I_am reallya filesystem and am NoTa driver得知,从Android R开始,安卓加强了代码标准化的管理,GK要求gki要求,s相关接口只能在1s代码中使用,其他模块不允许调用,同时对于vis read限制了外部使用,外部只能使用kemel read操作,但是使用kemel read也是不符合GKI要求的,规避手段,在调用kemnel read的源文件中增加声明即可绕过 (临时绕过手段,AndroidS上必须改掉文件系统的相关操作)MODULE IMPORT NS(VFS internal i am really a filesystem and am NOT a driver):

即可通过修改驱动源码,添加如下部分即可解决该报错问题:

驱动正常加载如下图所示:

至此大功告成!

总结

通过按照上述步骤进行移植,你应该能够在全志平台上成功驱动RTL8822CU无线模块。当然,每个平台和硬件配置可能会有所不同,但遵循这个基本流程应该可以帮助你顺利完成移植工作。移植驱动可能是一个复杂的任务,但也是嵌入式系统开发中非常有意义和有趣的一部分。希望本文对那些尝试在全志平台上移植RTL8822CU驱动的开发者们有所帮助。祝你们在项目中取得成功!

相关推荐
程序员南飞38 分钟前
ps aux | grep smart_webrtc这条指令代表什么意思
java·linux·ubuntu·webrtc
StrokeAce38 分钟前
linux桌面软件(wps)内嵌到主窗口后的关闭问题
linux·c++·qt·wps·窗口内嵌
弥琉撒到我42 分钟前
微服务swagger解析部署使用全流程
java·微服务·架构·swagger
热爱嵌入式的小许5 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
2401_857622666 小时前
SpringBoot框架下校园资料库的构建与优化
spring boot·后端·php
代码雕刻家6 小时前
数据结构-3.9.栈在递归中的应用
c语言·数据结构·算法
2402_857589366 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
哎呦没7 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
Kalika0-07 小时前
猴子吃桃-C语言
c语言·开发语言·数据结构·算法
_.Switch7 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j