内核配置中的:Multifunction device drivers

2023-11-04


Multifunction Device Drivers(多功能设备Linux下驱动开发)

先来一个英文简介:

Multifunction devices embed several functions (e.g. GPIOs, touchscreens, keyboards, current regulators, power management chips, etc...) in one single integrated circuit. They usually talk to the main CPU through one or more IRQ lines and low speed data busses (SPI, I2C, etc..). They appear as one single device to the main system through the data bus and the MFD framework allows for sub devices (a.k.a. functions) to appear as discrete platform devices. MFDs are typically found on embedded platforms.

Multifunction devices embed several functions (e.g. GPIOs, touchscreens, keyboards, current regulators, power management chips, etc...) in one single integrated circuit. They usually talk to the main CPU through one or more IRQ lines and low speed data busses (SPI, I2C, etc..). They appear as one single device to the main system through the data bus and the MFD framework allows for sub devices (a.k.a. functions) to appear as discrete platform devices. MFDs are typically found on embedded platforms. 多功能设备中嵌入了一些功能(如个GPIO,触摸屏,键盘,电流调节器,电源管理芯片等。)在一个单片集成电路。他们通常会谈论到主CPU通过一个或多个的IRQ线和低速数据总线(SPI,I2C,等等)。它们显示为一个单一的设备,主系统通过数据总线,和MFD框架允许出现的独立平台设备的子设备(又名功能)。通常只有在嵌入式平台上的MFD。

====================================================================================================================================

英文简介转自:http://blog.micro-studios.com/?p=309

精简Android-kernel时出查找:

知其功能,但仍不知如何取舍。。。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内核配置中的:Multifunction device drivers 的相关文章

  • 环形缓冲区和 DMA

    我试图了解从数据包到达网卡到目标应用程序收到数据包之间发生的所有事情 假设 缓冲区足够大 可以容纳整个数据包 我知道情况并非总是如此 但我不想介绍太多技术细节 一种选择是 1 Packet reaches the NIC 2 Interru
  • 尝试将 GCC 特定的 asm goto 移植到 Clang

    我一直在尝试将一些 GNU 扩展转换为实际的标准 C 这样它就可以在 clang 上运行 知道标准 C 而不是 GNU 扩展 我有点不知所措 asm goto 1 STATIC KEY INITIAL NOP pushsection jum
  • 自动持有自旋锁时返回是否不安全?

    受人尊敬的书说 The flags参数传递给spin unlock irqrestore必须与传递给的变量相同spin lock irqsave 您还必须致电spin lock irqsave and spin unlock irqrest
  • 从内核空间中的块设备读取

    我正在编写一个内核模块 需要从现有的块设备执行读取 dev 东西 有谁知道有任何其他模块可以执行这些操作 我可以用作参考吗 欢迎任何指点 Linux 2 6 30 如果你真的绝对必须那么使用filp open filp close vfs
  • 大会,你好世界问题

    我正在 Linux 上学习 asm noobuntu 10 04 我得到了以下代码 http asm sourceforge net intro hello html http asm sourceforge net intro hello
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • Linux、ARM:为什么仅当启动时存在 I2C GPIO 扩展器时才创建 gpiochip

    在 imx6sx 硬件平台 NXP 嵌入式 ARM 上使用 Linux 3 14 52 问题是设备树中指定的 PCF8575 I2C GPIO 扩展器不会实例化为 sys class gpio 结构中的设备 除非它们在内核启动期间存在 这些
  • 是否从页面缓存中的脏页面进行文件读取?

    当字节写入文件时 内核不会立即将这些字节写入磁盘 而是将这些字节存储在页缓存中的脏页中 回写缓存 问题是 如果在脏页刷新到磁盘之前发出文件读取 则将从缓存中的脏页提供字节 还是首先将脏页刷新到磁盘 然后进行磁盘读取以提供字节 将它们存储在进
  • Linux 中热插拔设备时检测设备是否存在

    我正在运行 SPIcode http lxr free electrons com source drivers spi spi omap2 mcspi c在熊猫板上 我想知道其中的哪个功能code http lxr free electr
  • “perf record”或“perf-record”可以对子进程进行采样吗?

    假设我有一个harness二进制文件 它可以根据命令行选项生成不同的基准 我对这些基准测试非常感兴趣 我有3个选择 更改线束二进制文件以生成perf record运行基准测试并进行采样的子进程 just do perf record har
  • 设备树不匹配:.probe 从未被调用

    我无法理解设备树的工作原理 或者具体来说为什么该驱动程序无法初始化 这是在 android 版本 3 10 的 rockchip 供应商内核中 驱动程序 看门狗 rk29 wdt c 为了可读性而减少 static const struct
  • Linux内核container_of宏和C90中的通用容器

    是否有可能实施容器的 http lxr linux no linux tools perf util include linux kernel h L18纯C90中的宏 我不确定如何做到这一点 因为内核实现取决于海湾合作委员会黑客 http
  • 使用sk_buff添加以太网帧头

    我有一个捕获传出互联网流量的内核模块 Netfilter hook LOCAL OUT 在此挂钩处 仍然没有以太网标头 我构建了以太网头并且可以使用了 但是如何将其连接到skb这样我就可以将整个 skb 结构发送到dev queue xmi
  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • 内核makefile中的$(call cmd,tags)这里的cmd指的是什么?

    在内核 Makefile 中我发现如下代码 ctags CTAGS CSCOPE HEADERS SOURCES ETAGS ETAGSFALGS HEADERS SOURCES call cmd ctags 另外 在哪里可以找到宏或函数
  • 在许多驱动程序文件夹中创建 build-in.o

    我正在用我的自定义驱动程序构建内核 成功构建后 我发现了许多 build in o 文件 任何人都可以详细说明这些文件是如何在这里结束的吗 我只能怀疑这些与更高级别的 makefile 有关 built in o 文件是未构建为模块的内核的
  • 我应该如何以非 root 身份读取 Linux 上的 Intel PCI 非核心性能计数器?

    我想要一个库 允许对 Linux 可执行文件的关键部分进行 自我分析 就像人们可以使用一个部分计时一样获取当日时间 http linux die net man 2 gettimeofday or RDTSC http www strchr
  • .ko 文件是如何构建的

    我正在尝试将我自己的驱动程序移植到Beagle 板 xm arm cortex A8 在移植时我试图弄清楚如何 ko文件实际构建 在我们的Makefile我们只有一个命令来构建 o file 怎样是一个 ko文件已建立 使用Linux 2
  • ARM 的内核 Oops 页面错误错误代码

    Oops 之后的错误代码给出了有关 ARM EX 中的恐慌的信息 Oops 17 1 PREEMPT SMP在这种情况下 17 给出了信息 在 x86 中它代表 bit 0 0 no page found 1 protection faul
  • 民意调查立即从驱动程序中退出

    这是我第一次在 Linux 内核中实现驱动程序并面临这个问题 我正在尝试在我的字符驱动程序中实现 poll 我已调用 poll wait 并传递了一个等待队列 当从用户空间程序打开该驱动程序的设备文件并在此设备文件描述符 fd 上调用 po

随机推荐

  • 【Windows】网线直连实现两台电脑共享文件夹

    目录 前言 1 用网线连接两台电脑 1 1 查看是否连接成功 2 设置两台电脑的 IP 网络类型和工作组 2 1 设置 Win10 的 IP 2 2 查看 Win10 的 IP 2 3 再次设置 Win10 的网关 2 4 再次查看 Win
  • physx-3.4.1官方文档

    https docs nvidia com gameworks content gameworkslibrary physx guide Manual GeometryQueries html https documentation hel
  • ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memor

    在Docker容器中利用Pytorch训练模型的时候 出现了题目中的错误 ERROR Unexpected bus error encountered in worker This might be caused by insufficie
  • 【 AMEsim的安装教程】

    AMEsim的安装教程 AMEsim2021 1安装包百度网盘链接 链接 https pan baidu com s 1WwDbD1v7TGqxu6G0Nfm9Zw pwd gyg6 提取码 gyg6 1 下载完所有压缩包后 解压第一个压缩
  • MD5碰撞

    前言 在CTF中可以说是经常碰到md5加密了 一般都是进行强比较抑或是弱比较 考法非常多 但是万变不离其中 只要我们掌握了原理 一切问题便迎刃而解了 文章首发于 我的博客 格式可能比较清晰 有兴趣了解CTF中MD5碰撞的伙伴可以移步查看 简
  • Causal Inference

    文章目录 Standardization 非参数情况 Censoring 参数模型 Time varying 静态 IP weighting 无参数 Censoring 参数模型 censoring 条件下 V Time varying G
  • 计算二叉树的深度,结点的个数。

    计算二叉树的深度 结点的个数 算法5 5 计算二叉树的深度 结点的个数 include
  • 调用外部的搜索引擎(百度和Google)

    调用的百度和Google的代码如下
  • 程序员常用的10个Linux命令

    本文将为开发者分享10个有用的Linux命令 希望对你会有所帮助 以下就是今天我们要介绍的Linux命令 man touch cat and less sort and grep cut sed tar find diff uniq chm
  • 【生产篇】_Oracle ADG同步技术 ——DBA必备的一种“后悔药”

    note taker Ethan Yang recording time 2019 09 23 number of docs 11 引言 所有高可用性方案的本质就是 冗余 当然预算开支也会随着高可用性要求的提升而变得异常昂贵 大家在构建数据
  • 配置apache2.4.46虚拟目录

    配置虚拟目录 修改httpd conf 定位IfModule alias module这个模块 在 Alias webpath full filesystem path下按照格式改写 在模块末尾 lt Ifmodule gt 的上面加一段
  • Markdown编辑器【Typora 1.5.10】免费版下载、安装教程(亲测有效!!!)

    文章涉及Markdown版本为1 5 10 一 简介 1 Typora是一款非常好用的 Markdown 编辑器和阅读器 2 支持实时预览的轻量级 Markdown 编辑器 二 安装包及所涉及插件下载 阿里云盘 https www aliy
  • 测试面试LeetCode系列:一维数组的动态和

    每日一刷的LeetCode题目又来了 寒冬之下 助你拿一个大厂的测开offer 给你一个数组 nums 数组 动态和 的计算公式为 runningSum i sum nums 0 nums i 请返回 nums 的动态和 示例 1 输入 n
  • Qualcomm AR SDK之替换模型(已解决模型贴图问题)

    ARVR技术交流群 129340649 欢迎加入 求从事移动应用开发以及基于移动终端的AR应用开发的朋友 一起做一些事 有兴趣可以给我私信 谢谢 1 将模型转换为 obj格式 这个通过很多三维软件都可以实现 我用的是3Dmax 2 将obj
  • Flutter上你需要一个简单实用的验证码输入Widget

    现在很多app都有填写验证码的需求 而这个验证码的UI流行非普通的输入框 毕竟移动开发主要矛盾是设计师日益增长的天马行空同落后的开发之间的矛盾 作为跨平台方案的Flutter自然也会用到这种控件 本着少造轮子 多copy的原则 想去找个验证
  • 《Python进阶系列》六:Python中的文件对象

    文件对象的seek 和tell 打开一个文件 读取内容 是很常见的操作 不过有的时候我们还需要反复读取文件中的内容 如果多次打开文件读取再多次关闭 显然不是特别好的操作 我们可以借助Python文件对象的seek 和tell 函数 来实现反
  • 为什么那么多人用小智ai

    ChatGPT丨小智ai丨chatgpt丨人工智能丨OpenAI丨聊天机器人丨AI语音助手丨GPT 3 5丨OpenAI ChatGPT GPT 4 GPT 3 人机对话 ChatGPT应用 小智ai 小智ai 小智ai 小智ai Chat
  • Shader理论(2):Unity中的各种坐标系

    目录 前言 一 坐标系 1 1 世界坐标系 World Space 1 2 本地坐标系 Local Space 模型坐标系 1 3 屏幕坐标系 Screen Space 1 4 观察坐标系 ViewPort Space 视口坐标系 1 5
  • 如何设计一个短信发送功能

    本文主要分享了如何设计一个发送短信功能 一 总结简述 1 梳理多个平台短信API的发送参数 集成封装提供统一的API 支持多个短信平台 阿里云 腾讯云 百度云 京东云 七牛云 灵活切换 2 提供存储方案 表结构设计 3 提供真实生产项目代码
  • 内核配置中的:Multifunction device drivers

    Multifunction Device Drivers 多功能设备Linux下驱动开发 先来一个英文简介 Multifunction devices embed several functions e g GPIOs touchscree