当前位置: 首页 > news >正文

RK3568驱动指南|第八篇 设备树插件-第73章 设备树插件使用实验

瑞芯微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主板


第73章 设备树插件使用实验

在上一章节中,我们详细介绍了设备树插件的语法和编译过程,为了更好地理解和应用这些知识,本章节将重点关注设备树插件在实际实验操作中的使用方法。让我们开始实际使用设备树插件吧!

73.1 准备实验环境

我们首先烧写网盘资料“iTOP-RK3568开发板【底板V1.7版本】\03_【iTOP-RK3568开发板】指南教程\02_Linux驱动配套资料\04_Linux驱动例程\65_dtbocfg”目录下的Linux系统镜像,然后将设备树插件dtbocfg.ko拷贝到系统中,最后使用“insmod dtbocfg.ko”命令加载驱动,如下(图 73-1)所示:

图 73-1

然后输入命令cat proc/filesystems检查configfs是否挂载成功。挂载成功如下(图 73-2)所示:

图 73-2

73.2设备树插件的使用

在上一个小节中,我们烧写了支持设备树插件的内核镜像,并且加载了dtbocfg.ko。在此基础上,本小节来讲述如何使用设备树插件。

在上一章节中,我们编写了overlay.dts。 在overlay.dts中,rk-485-ctl节点下添加新的节点overlay_node节点,如下(图 73-3)所示:

图 73-3

  使用dtc编译器编译得到dtbo文件,并将dtbo拷贝到开发板上。

/home/topeet/Linux/linux_sdk/kernel/scripts/dtc/dtc -I dts -O dtb overlay.dts -o overlay.dtbo

 

图 73-4

我们将编译好的dtbo文件拷贝到开发板上,如下图(图 73-5)所示:

图 73-5

我们进到系统/sys/kernel/config/device-tree/overlays/(这个目录需要加载设备树插件才会生成)目录下。如下图(图 73-6)所示:

 

图 73-6

在这个目录下使用以下命令创建一个内核对象,如下图(图 73-7)所示:

mkdir test

 

图 73-7

使用命令cd test进到test文件夹,如下图(图 73-8)所示:

 

图 73-8

使用以下命令写入dtbo中,如下图(图 73-9)所示:

cat /overlay.dtbo > dtbo

 

图 73-9

使用以下命令使能dtbo,如下图(图 73-10)所示:

echo 1 > status

图 73-10

此时我们可以使用以下命令看到加载的节点。

ls /proc/device-tree/rk-485-ctl/overlay_node/

图 73-11

如果我们想删掉使用dtbo修改的节点,在/sys/kernel/config/device-tree/overlays下使用“rmdir test”即可。如下图(图 73-12)所示:

图 73-12

此时我们可以使用命令“ls /proc/device-tree/rk-485-ctl/”查看,已经看不到添加的overlay_node节点了。

 图 73-13

73.3加载多个dtbo

我们准备第二个dtbo文件,修改overlay_node节点中的status属性。如下(图 73-14)所示:

图 73-14

在这个目录下使用命令mkdir test1创建一个内核对象。如下图(图 73-15)所示:

图 73-15

使用命令“cd test”进到test1文件夹,如下图(图 73-16)所示:

图 73-16

使用命令“cat /overlay2.dtbo > dtbo”写进dtbo中,如下图(图 73-17)所示:

图 73-17

使用命令“echo 1 > status”使用dtbo,如下图(图 73-18)所示:

图 73-18

此时我们可以使用命令“cat /proc/device-tree/rk-485-ctl/overlay_node/status”看到属性值已经被修改了过来,如下图(图 73-19)所示:

图 73-19

删除test1文件夹,如下图(图 73-20)所示:

图 73-20

可以看到status的属性值已经被修改了回来,如下图(图 73-21)所示:

图 73-21


相关文章:

  • Day31| Leetcode 455. 分发饼干 Leetcode 376. 摆动序列 Leetcode 53. 最大子数组和
  • Java LCR 089 打家劫舍
  • 日历视图,轻松解决时间管理难题丨三叠云
  • Ubuntu18.4中安装wkhtmltopdf + Odoo16配置【二】
  • 软件测试之银行测试详解
  • WordPress老是提示无法连接到FTP服务器
  • 给虚拟机配置静态id地址
  • PTA-6-45 工厂设计模式-运输工具
  • C++使用Tensorflow2.6训练好的模型进行预测
  • HTML新特性【缩放图像、图像切片、平移、旋转、缩放、变形、裁切路径、时钟、运动的小球】(二)-全面详解(学习总结---从入门到深化)
  • 四级核心词汇100 +
  • 【电路笔记】-电源电压
  • 【GitHub】保姆级使用教程
  • 在PyCharm中正确设置Python项目
  • ART-PI开发套件-构建开发环境
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • @jsonView过滤属性
  • Docker容器管理
  • ES6 ...操作符
  • httpie使用详解
  • JWT究竟是什么呢?
  • Material Design
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Swift 中的尾递归和蹦床
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 简单实现一个textarea自适应高度
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 区块链共识机制优缺点对比都是什么
  • 设计模式走一遍---观察者模式
  • 深入浅出webpack学习(1)--核心概念
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用Swoole加速Laravel(正式环境中)
  • 一个SAP顾问在美国的这些年
  • ionic异常记录
  • MPAndroidChart 教程:Y轴 YAxis
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • (06)Hive——正则表达式
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (ZT)一个美国文科博士的YardLife
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (小白学Java)Java简介和基本配置
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .Net6使用WebSocket与前端进行通信
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • @Transient注解
  • [2544]最短路 (两种算法)(HDU)
  • [ai笔记4] 将AI工具场景化,应用于生活和工作
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt