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

news2024/9/20 0:52:45

瑞芯微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.coloradmin.cn/o/1304622.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue router深入学习

Vue router深入学习 一、单页应用程序介绍 1.概念 单页应用程序:SPA【Single Page Application】是指所有的功能都在一个html页面上实现 2.具体示例 单页应用网站: 网易云音乐 https://music.163.com/ 多页应用网站:京东 https://jd.co…

人体关键点检测2:Pytorch实现人体关键点检测(人体姿势估计)含训练代码

人体关键点检测2:Pytorch实现人体关键点检测(人体姿势估计)含训练代码 目录 人体关键点检测2:Pytorch实现人体关键点检测(人体姿势估计)含训练代码 1. 前言 2.人体关键点检测方法 (1)Top-Down(自上而下)方法 (2)Bottom-Up(自下而上)方法&#xff1…

Python实战 | 如何抓取腾讯视频

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 爬虫: 作用: 批量采集数据 / 模拟用户行为 原理: 模拟成 客户端 向 服务器 发送网络请求 环境介绍: python 3.8 解释器 pycharm 编辑器 第三方模块: reques…

《地理信息系统原理》笔记/期末复习资料(12. 地理信息工程)

目录 12. 地理信息工程 12.1. 地理信息系统工程的概念 12.2. 地理信息系统工程建设过程 12.2.1. 应用型地理信息系统设计步骤和方法 12.2.2. 需求分析 12.2.3. 系统设计 12.2.4. 系统开发与实施 12.2.5. 系统的评价和维护 12.3. GIS标准 12.4. 习题 12. 地理信息工程…

java--Collection的常用方法

1.集合体系结构 ①Collection代表单列集合,每个元素(数据)只包含一个值 ②Map代表双列集合,每个元素包含两个值(键值对) 2.Collection集合体系 3.Collection集合特点 1.List系列集合:添加的元素是有序、可重复、有索引 ①ArrayList、Line…

Python接口自动化浅析requests请求封装原理

以下主要介绍如何封装请求 还记得我们之前写的get请求、post请求么? 大家应该有体会,每个请求类型都写成单独的函数,代码复用性不强。 接下来将请求类型都封装起来,自动化用例都可以用这个封装的请求类进行请求 将常用的get、p…

为什么现在招聘C++程序员这么难?

为什么现在招聘C程序员这么难? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C的资料从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家!&#x…

mars3d加载arcgis发布的服务,⽀持4523坐标

问题 1.从这个服务地址加载,具体在哪⾥去转坐标呢? 加个 usePreCachedTilesIfAvailable:false 参数即可 坐标系为4490的arcgis影像服务图层,配置后瓦片加载不出来,没报错 甚至可以跳转 没有看出问题,或者测…

SD-WAN跨国网络加速的原理

许多企业需要在全球范围内高效传输和交流数据,然而,跨国网络连接面临着多种挑战,如网络延迟、拥塞和数据包丢失,这些问题可能会显著降低企业的运作效率和客户体验。为了克服这些问题,越来越多的企业正在采用SD-WAN跨国…

Java毕业设计——vue+SpringBoot汽车销售管理系统

项目介绍 本项目基于spring boot以及Vue开发,前端实现基于PanJiaChen所提供的开源后台项目vue-element-admin改造。 针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能,提供经理和销售两种角色进行管理。 技术栈 前端 Vue…

使用Java将图片添加到Excel的几种方式

1、超链接 使用POI&#xff0c;依赖如下 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency>Java代码如下,运行该程序它会在桌面创建ImageLinks.xlsx文件。 …

(七)函数

目录 1. 函数的概念 2. 库函数 2.1 标准库和头文件 2.2 库函数的使用方法 2.2.1 功能 2.2.2 头文件包含 2.2.3 库函数文档的一般格式 3. 自定义函数 3.1 函数的语法形式 4. 形参和实参 4.1 实参 4.2 形参 4.3 实参和形参的关系 5. return 语句 6. 数组做函数参数…

python将资源打包进exe

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

生成式模型对比:扩散模型、GAN 与 VAE

引言 深度生成式模型应用于图像、音频、视频合成和自然语言处理等不同领域。随着深度学习技术的快速发展&#xff0c;近年来不同的深度生成模型出现了爆炸式的增长。这导致人们越来越有兴趣比较和评估这些模型的性能和对不同领域的适用性。在 本文中&#xff0c;我们的目标是…

RCG Self-conditioned Image Generation via Generating Representations

RCG: Self-conditioned Image Generation via Generating Representations TL; DR&#xff1a;将图像的无监督表征作为&#xff08;自&#xff09;条件&#xff08;而非是将文本 prompt 作为条件&#xff09;&#xff0c;生成与原图语义内容一致的多样且高质量结果。视觉训练能…

如何在Android中旋转屏幕时避免重新绘制Activity

如何在Android中旋转屏幕时避免重新绘制Activity 在Android开发中&#xff0c;设备旋转通常导致当前活动&#xff08;Activity&#xff09;被销毁并重新创建&#xff0c;这可能导致用户界面重置和不必要的资源重新加载。然而&#xff0c;有时我们希望避免这种行为&#xff0c;…

3.4_3GBN课后题的思考

首先思考最大平均数据传输速率&#xff0c;看到是GBN协议&#xff0c;无法直接带入信道带宽&#xff1b; 其次比较RRT传输时延和信道带宽传输所有数据的时间 把图中划分为三个公式分别为abc 1.a是1000个窗口尺寸&#xff0c;每个尺寸抖音1000字节数据帧&#xff0c;除以信道带宽…

邮件营销软件:10个创新邮件策略,持续提升投资回报(二)

在上一篇文章中&#xff0c;我们了解到内容、个性化和适当的策略有助于在增加邮件营销中客户的参与度。在这篇文章中&#xff0c;我们将深入研究客户行为、自动化和评估等方面。 1、根据客户行为发送电子邮件 从购买到放弃购物车&#xff0c;客户的行为可能千差万别。跟踪这…

胡桃工具箱 原神多功能工具箱

胡桃工具箱 原神胡桃工具箱是一款非常实用的游戏工具辅助软件&#xff0c;可以为用户们提供优质的原神游戏工具&#xff0c;体验更精彩的游戏辅助&#xff0c;提供帧率解锁游戏功能&#xff0c;包括数据查询、游戏详解以及各种实用的功能。 安装使用 1.获取胡桃工具箱 请点击…