打印
[嵌入式linux]

RK3568驱动指南|第一篇 驱动基础-第2章 你好!内核源码

[复制链接]
3672|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
遥寄山川|  楼主 | 2024-2-5 11:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568 支持安卓 11 和 linux 系统,主要面向物联网网关、NVR 存储、工控平板、工业检测、工控盒、卡拉 OK、云终端、车载中控等行业。

【公众号】迅为电子
【B站视频搜索】嵌入式学习之Linux驱动(第一篇 驱动基础_全新升级)_基于RK3568

第2章 你好!内核源码
本章我们来认识Linux内核源码,开始真正进入到驱动的世界里面,不知道各位小伙伴们有没有做好准备呢?

2.1 初识内核源码
Linux内核源码的官方网站为https://www.kernel.org/,可以在该网站下载最新的Linux内核源码。进入该网站之后如下图(图2-1)所示:

从上图(图1)可以看到多个版本的内核分支,分别为主线版本(mainline)、稳定版本(stable)和长期支持版本(longterm)。以上各个支线和主线是由linus torvalds(Linux之父)所领导。半导体厂商和一些内核爱好者会在官网下载相应版本的内核源码,对该源码进行打补丁等操作。以此让官网的内核源码可以在半导体厂家设计的主控(CPU)上跑起来,所以在开发和学习的过程中,我们并不会直接去Linux内核官网下去下载源码,而且是使用半导体厂家提供的源码包。
但是不论是Linux官网的内核源码还是半导体厂家提供的内核源码不影响我们来看它的庐山真面目!作者下载了Linux官方网站的4.19.262分支源码,下载好的源码存放在“iTOP-RK3568开发板【底板V1.7版本】\03_【iTOP-RK3568开发板】指南教程\02_Linux驱动配套资料\01_Linux内核官方源码”如下图(图2-2)所示:

将Linux内核官方源码拷贝到虚拟机ubuntu上如下图(图2-3)所示:

使用以下命令对内核官方源码进行解压,解压完成如下图(图2-4)所示:

解压完成后我们会看到非常多的文件夹,这些文件夹放的就是Linux内核源码,在下一小节中作者来介绍Linux内核源码的结构和每个目录的作用。


目录的内容如下表(表2-6)所示:

2.3 编译内核源码
本小节使用的内核源码是半导体厂家提供的内核源码,是我们学习和开发要使用的内核源码。在进行驱动学习之前需要将此内核源码编译成功。
内核源码存放路径为“iTOP-RK3568开发板【底板V1.7版本】\03_【iTOP-RK3568开发板】指南教程\02_Linux驱动配套资料\02_Linux_SDK源码”,将对应目录下的内核源码拷贝到虚拟机ubuntu目录下,如下图(图2-7)所示:

注:编译环境使用的是迅为搭建好的编译环境,迅为的环境经过测试在不进行修改的前提下,可以直接将内核源码编译通过。

使用以下命令对内核源码的进行解压,解压完成如下图(图2-8)所示:


使用“cd linux_sdk”命令进入内核源码目录,如下图(图2-9)所示:

使用命令“./build.sh kernel”进行内核源码的编译,编译过程如下图(图2-10)所示:

编译时间和电脑虚拟机配置相关,编译完成如下图(图2-11)所示:

通过对内核源码官网的探索,内核源码的目录结构讲解以及内核源码的编译。我相信大家对Linux内核源码应该有了一个初步的认识了。下一章我们来学习第一个驱动helloworld。



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

341

主题

348

帖子

1

粉丝