瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568 支持安卓 11 和 linux 系统,主要面向物联网网关、NVR 存储、工控平板、工业检测、工控盒、卡拉 OK、云终端、车载中控等行业。
【公众号】迅为电子
【粉丝群】824412014(加群获取驱动文档+例程)
【视频观看】嵌入式学习之Linux驱动(第八期_设备树插件_全新升级)_基于RK3568
【购买链接】迅为RK3568开发板瑞芯微Linux安卓鸿蒙ARM核心板人工智能AI主板
第82章 移植设备树插件驱动实验
在73章节,我们学会了如何使用设备树插件。在本章节中,我们将探讨如何移植设备树插件到iTOP-RK3568开发板上。移植设备树插件主要包括以下几个步骤
1 配置内核支持挂载configfs虚拟文件系统。
2 配置内核支持设备树插件
3 移植设备树插件驱动
接下来开始移植设备树插件驱动吧!
82.1挂载configfs虚拟文件系统
首先我们打开Linux内核源码,输入以下命令打开menuconfig配置界面。
图 82-1
界面打开之后,将下图(图 82-2)中的选项勾选。
图 82-2
勾选之后保存退出,然后输入以下命令
cp .config arch/arm64/configs/rockchip_linux_defconfig
cd ../
./build.sh kernel
将编译之后的内核镜像烧写到开发板上,接着使用mount命令检查configfs虚拟文件系统是否挂载成功。挂载成功如下图(图 82-3)所示:
图 82-3
如果系统没有自动挂载configfs虚拟文件系统,需要输入以下命令挂载:
mount -t configfs none /sys/kernel/config
82.2配置内核支持设备树插件
首先我们打开Linux内核源码,输入以下命令打开menuconfig配置界面。
图 82-4
界面打开之后,将下图中的选项勾选。
图 82-5
图 82-6
勾选之后保存退出,然后输入以下命令
cp .config arch/arm64/configs/rockchip_linux_defconfig
cd ../
./build.sh kernel
内核编译成功之后,接下来我们开始移植设备树插件驱动。
82.3移植驱动
现在我们已经学完了configfs虚拟文件系统的数据结构。如果水平足够,完全可以自己编写驱动实现一个设备树插件。但是我们没有必要重复造轮子,github上有大神编写好的设备树插件驱动,为了方便大家使用,我们放在了网盘资料“iTOP-RK3568开发板【底板V1.7版本】\03_【iTOP-RK3568开发板】指南教程\02_Linux驱动配套资料\04_Linux驱动例程\65_dtbocfg”目录下,如下图(图82-7)所示:
图82-7
dtbocfg.c是设备树插件驱动,我们只要将此驱动编译成驱动模块或者编译进内核即可 。在网盘资料中提供了编译好的dtbocfg.ko文件。
好了,设备树插件驱动移植完毕,设备树插件的使用,可以查看本手册73章节。