0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

启扬ARM嵌入式开发 2025-03-06 17:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

e8b8399a-fa6c-11ef-9434-92fbcf53809c.jpg

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

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

e8cec8f4-fa6c-11ef-9434-92fbcf53809c.png

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

e9280d10-fa6c-11ef-9434-92fbcf53809c.png

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

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

e966aa8e-fa6c-11ef-9434-92fbcf53809c.png

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

e9798c26-fa6c-11ef-9434-92fbcf53809c.png

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

e984e684-fa6c-11ef-9434-92fbcf53809c.png

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

e9a28dba-fa6c-11ef-9434-92fbcf53809c.png

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

e9ba580a-fa6c-11ef-9434-92fbcf53809c.png

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动
    +关注

    关注

    12

    文章

    1927

    浏览量

    88184
  • Linux
    +关注

    关注

    88

    文章

    11627

    浏览量

    217893
  • RK3568
    +关注

    关注

    5

    文章

    628

    浏览量

    7571
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Labview如何内嵌操作第三方EXE程序!

    自己在网上搜了下相关资料,能把第三方EXE内嵌进入容器里,但是有个问题,这个第三方软件必须手动拖到容器正中间,手动最大化。请问有什么方法可以自动实现吗? 下图是我内嵌的POLL 软件。如图!
    发表于 04-18 14:26

    如何把第三方库加到PROTEUS中?

    新手求教,弱弱的问下,下了一个第三方库,说是要先安装,再添加路径,可是我下来的第三方库没有看到安装文件啊。还望指教如何添加!
    发表于 06-15 22:32

    第三方dll调用问题!!!

    第三方dll,没有.h,labview怎么实现调用,dll可以用VS打开,类库说明也有
    发表于 05-11 09:14

    LabVIEW与第三方软件交互问题

    现在做一个软件,就是通过LabVIEW去与第三方软件进行交互操作!已经通过百度找到了利用user32.dll调用FindWindowA与PostMessage去实现对计算器,找了多方资料也没有找到解决办法。想做一个软件就是对图片2中第三方软件中控件进行控制的方法谢谢各位帮
    发表于 12-26 17:13

    国内知名第三方检测认证机构排名

    第三方检测机构国内起步的很晚,基本是2000年以后的事情,进入改革开放以来,特别是新世纪以来,国家对第三方机构的政策越来越放开了,很多职能部门都逐步下放到第三方机构来做。为了保证产品品质,就有
    发表于 07-19 16:57

    头文件中包含第三方文件

    macrocmake如果源文件(例如 CPP)中包含第三方头文件,但是头文件(例如 hpp)中不包含该第三方文件头,采用 PRIVATE。如果源文件和头文件中都包含该第三方文件头,采用 PUBLIC
    发表于 08-18 08:10

    在Framework下调用第三方的C++算法库

    Platform: RK3399OS: Android 7.1Kernel: v4.4.83背景:现在在Framework层及以下经常会调用到第三方的C++算法库,比如语音识别,人脸识别等等。例如
    发表于 11-24 17:37

    银行和第三方支付:恋爱进行时

    银行和第三方支付:恋爱进行时   北京2010年1月8日电  -- 从第三方支付诞生之时起,银行与第三方支付之间的竞合关系
    发表于 01-09 08:08 806次阅读

    第三方实例:iView开发介绍 (1)

    第三方实例介绍 - iView (1)
    的头像 发表于 08-22 01:42 5057次阅读

    第三方脚本成为网络攻击“重灾区”,多管齐下防范第三方脚本安全隐患

      第三方脚本攻击利用的是第一网站对第三方脚本的控制力不足和难以实现的全面监测,造成较为严重的攻击后果。除此之外,第三方脚本还会带来一些其他的潜在隐患。综合来看,
    的头像 发表于 09-04 14:51 4316次阅读

    RK3568 SDK 的编译

    RK3568 SDK 的编译
    的头像 发表于 12-13 11:46 2608次阅读
    <b class='flag-5'>RK3568</b> SDK 的<b class='flag-5'>编译</b>

    技术分享 | RK3568开发板 buildroot编译配置

    启扬智能RK3568开发板提供两种文件系统,一种是Debian,另外一种是BuildRoot。在使用过程中,有些客户需要添加属于自己的软件包,所以在此分享启扬RK3568关于BuildRoot编译
    的头像 发表于 04-13 10:32 5466次阅读
    <b class='flag-5'>技术</b>分享 | <b class='flag-5'>RK3568</b>开发板 buildroot<b class='flag-5'>编译</b>配置

    RK3568 编译sdk技巧

    我司RK3568对外提供源代码是以sdk的形式提供,包括但不仅限于uboot、kernel、buildroot、debian源码。在编译sdk的过程中往往需要安装大量的第三方安装包,同时也要保证宿主
    的头像 发表于 08-30 11:44 1526次阅读
    <b class='flag-5'>RK3568</b> <b class='flag-5'>编译</b>sdk技巧

    RK3568驱动指南|第三篇-并发与竞争-第19章 并发与竞争实验

    RK3568驱动指南|第三篇-并发与竞争-第19章 并发与竞争实验
    的头像 发表于 02-24 16:26 843次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>驱动</b>指南|<b class='flag-5'>第三</b>篇-并发与竞争-第19章 并发与竞争实验

    迅为RK3568 重制版RK3568驱动指南全面升级

    迅为RK3568 重制版RK3568驱动指南全面升级
    的头像 发表于 07-28 15:25 1483次阅读
    迅为<b class='flag-5'>RK3568</b> 重制版<b class='flag-5'>RK3568</b><b class='flag-5'>驱动</b>指南全面升级