RK3568驱动指南|第八篇 设备树插件-第74章 虚拟文件系统ConfigFS介绍

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


第74章 虚拟文件系统ConfigFS介绍

前面几个章节中,我们详细讲解了设备树插件的语法和编译过程,了解了如何利用设备树插件实现设备树的模块化和复用。本章节将进一步拓展我们的知识,介绍虚拟文件系统ConfigFS。虚拟文件系统ConfigFS是一个特殊的文件系统,旨在提供一种动态配置Linux内核和设备的机制。让我们一起深入学习ConfigFS,并将其应用于实际实验操作中,为我们的设备树和系统开发带来更多的可能性和创新性。

74.1 常用的虚拟文件系统

在Linux内核中,有几个常用的虚拟文件系统,虚拟文件系统提供了一个内核抽象层,使得应用程序可以通过统一的文件访问接口操作不同类型的文件和设备。它简化了应用程序的开发和维护,提供了更高的可移植性和灵活性,并提供了管理文件系统和访问底层硬件的功能。

其中最常见的虚拟文件系统如下所示:

1 procfs是一个虚拟文件系统,提供了对系统内核运行时状态的访问接口。它以文件和目录的形式表示内核中的进程,设备,驱动程序和其他系统信息。通过读取和写入procfs中的文件,可以获取和修改有关系统状态的信息。

2 sysfs是一个虚拟文件系统,用于表示系统中的设备,驱动程序和其他内核对象。它提供一种统一的接口,通过文件和目录来访问和配置这些对象的属性和状态。Sysfs常用于设备驱动程序和系统管理工具,用于查看和控制系统的硬件和内核对象。

3 configfs是一个虚拟文件系统,用于动态配置和管理内核对象。它提供了一种以文件和目录的形式访问内核对象的接口,允许用户在运行时添加,修改和删除内核对象,而无需重新编译内核或重新启动系统。ConfigFS常用于配置和管理设备,驱动程序和子系统。

这些虚拟文件系统在功能上有一些区别,如下所示: 

Procfs主要用于访问和管理进程信息,提供了有关进程,内核参数和系统状态的信息。

Sysfs主要用于表示和配置系统中的设备,驱动程序和其他内核对象,提供了一种统一的接口来访问和控制这些对象的属性和状态。

Configfs主要用于动态配置和管理内核对象,提供了一种以文件和目录的形式访问内核对象的接口,允许在运行时添加,修改和删除内核对象。

74.2 设备树插件选择ConfigFS原因

在上个章节,我们学习了设备树插件的使用,从而理出设备树插件的实现方式,

通过上节课设备树插件的使用我们可以理出设备树的插件的实现方式,如下图(图 74-1)所示:

 

图 74-1

要实现上述的功能,用户空间需要和内核进行交互,也就是将dtbo加载到内存里面去。

sysfs虚拟文件系统的作用是将内核中的数据、属性以文件的方式导出到用户空间。导出到用户空间以后,读这些文件表示读取设备的文件,写这些文件就表示控制设备。configfs作用的英文解释为Userspace-driven kernel object configuration,翻译过来就是用户空间配置内核对象。

所以configfs与sysfs恰恰相反,sysfs导出内核对象给用户空间,configfs是从用户空间去配置内核对象,并且不需要重新编译内核或者修改内核代码。所以configfs更适合设备树插件这个技术。

选择ConfigFS虚拟文件系统作为设备树插件的实现方式,可以满足设备树插件对动态性、灵活性的需求,使得设备树的配置和管理更加方便和高效。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/238689.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python将资源打包进exe

前言 之前py打包的exe一直是不涉及图片等资源的,直到我引入图片后打包,再双击exe发现直接提示未找到资源。 分析 我py代码中的图片引入使用的是项目相对路径,打包时pyinstaller只会引入py模块,这种路径引入的资源其实是不会打包…

terser

环境: 一、使用vueCli创建的项目的vue.config.js 添加terser配置 验证了在打包后生成的.js文件中确实没有了console.log() 这里的.js.map可以省略,公司里代码打包后就没有.js.map文件了 要配置下除去.js.map文件或者统一分到.map文件夹里 二、vite 安…

【腾讯云HAI域探密】- HAI为NPL保驾护航

近些年,随着机器学习技术的蓬勃发展,以GPU为代表的一系列专用芯片以优越的高性能计算能力和愈发低廉的成本,在机器学习领域得到广泛认可和青睐。GPU等专用芯片以较低的成本提供海量算力,已经成为机器学习和AI人工智能领域的核心利…

分层自动化测试的实战思考!

自动化测试的分层模型 自动化测试的分层模型,我们应该已经很熟悉了,按照分层测试理念,自动化测试的投入产出应该是一个金字塔模型。越是向下,投入/产出比就越高,但开展的难易程度/成本和技术要求就越高,但…

QX320F28335,DSP,国产芯片崛起之路

QX320F28335 32位单核CPU 主频150MHz 单精度浮点运算FPU 12位ADC 采样率 4MSPS 12个ePWM 6个HRPWM

测试:面试问题(多精全)

目录 面试问题 1,你们原来项目的测试流程是怎么样的? 2,你介绍下,你最熟悉的项目? 3,你们原来项目的主要的功能模块有哪些,你主要负责哪些模块? 4,你说原来充值…

Python从入门到精通四:Python循环语句

前言 循环普遍存在于日常生活中,同样,在程序中,循环功能也是至关重要的基础功能。 为什么学习循环语句 循环在程序中同判断一样,也是广泛存在的,是非常多功能实现的基础: while循环的基础语法 学习目标&…

⑩⑧【MySQL】InnoDB架构、事务原理、MVCC多版本并发控制

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ InnoDB存储引擎 ⑩⑧【MySQL】详解InnoDB存储引…

vue3的组件事件和defineEmits

文章目录 1. 事件基础示例Blog.vueBlogPost.vue 2. 触发与监听事件2.1 触发事件2.2 监听事件 3. 事件参数3.1 示例1Blog.vueBlogPost.vue 3.2 示例2(defineEmits)MyComponent.vueTest.vue 4. 声明触发的事件5. 事件校验示例1Blog.vueBlogPost.vue 示例2&…

【ChatGLM3-6B】Docker下快速部署

【ChatGLM2-6B】小白入门及Docker下部署 前提下载安装包网盘地址 开始安装加载镜像启动镜像进入容器启动模型交互页面访问页面地址 前提 安装好了docker安装好了NVIDIA显卡16G 下载安装包 网盘地址 ​ 这里因为网盘上传文件有大小限制,所以使用了分卷压缩的方式…

Adobe的3D建模工具Substance 3D Painter 9.1.1 版本下载与安装

目录 前言一、Substance 3D Painter 9.1.1安装二、使用配置总结 前言 Adobe的Substance 3D Painter是一款强大的3D建模和纹理创建工具,专为数字艺术家设计,尤其是3D画家、游戏设计师和视觉特效艺术家。注:文末附有下载链接! 这款…

【gerrit上放弃提交代码】

在gerrit上点击abandon 项目文件夹下打开git USER871058FHA-W4300461 MINGW64 /d/Users/USER871058/IdeaProjects/cda_cem (feature_fix_point_1208) $ git reset --soft HEAD^回到idea即可

电子签测评!审批流程电子签章的代表产品

随着大家对电子文件法律效力的愈发重视,这两年,市面上各种各样的电子签名产品是层出不穷啊。 法大大、E签宝、微签、契约锁各树一帜,腾讯、阿里、字节三巨头也纷纷入局。 几家头部厂家陷入了同质化的竞争,在各个领域使出浑身解数…

Sci Transl Med

今天给同学们分享一篇实验文章“Radiation-induced circulating myeloid-derived suppressor cells induce systemic lymphopenia after chemoradiotherapy in patients with glioblastoma”,这篇文章发表在Sci Transl Med期刊上,影响因子为17.1。 结果解…

windows下安装git中文版客户端

下载git Windows客户端 git客户端下载地址:Git - Downloads 我这里下载的是Git-2.14.0-64-bit.exe版本 下载TortoiseGit TortoiseGit客户端下载地址:Download – TortoiseGit – Windows Shell Interface to Git TortoiseGit客户端要下载两个&#…

用Sketch for Mac轻松创作无限可能的矢量绘图

在如今的数码时代,矢量绘图软件成为了许多设计师和创意爱好者的必备工具。而在众多的矢量绘图软件中,Sketch for Mac无疑是最受欢迎的一款。它以其简洁易用的界面和强大的功能,让用户能够轻松创作出无限可能的矢量图形。 首先,Sk…

vue2-使用axios获取外网ip

1.安装axios>npm i axios 或者yarn add axios 或者pnpm i axios */ 报错:一直info There appears to be trouble with your network connection. Retrying... 原因:网络不好 2.引入axios:import axios from axios 3.使用axios调用接口ht…

基于ssm四六级报名与成绩查询系统论文

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对四六级报名信息管理混乱,出错率高,信息安全性…

uniapp uview实现u-popup左侧弹起时铺满屏幕

效果如图: 代码如下: <u-popup :show="sign.signParams.show" mode="left" width="100%" height="100%" border-radius="0":mask-close-able="false">XXXXXXX内容xxxxx</u-popup>使用了 mode=“left”…

Nature | 中国陆地的碳汇量有多少?

文献信息 题目&#xff1a; The size of the land carbon sink in China 来源&#xff1a; Nature 时间&#xff1a;2022DOI&#xff1a; https://doi.org/10.1038/s41586-021-04255-y 主要内容 中国人为排放的很大一部分已经被其土地碳汇抵消&#xff0c;这是到2060年实现…