GPIO-Hog声明的目的和用途

2024-03-25

问题

  1. 其目的和用例是什么gpio-hog宣言?
  2. 可以从用户空间连接“占用”的 GPIO 引脚吗?
  3. 如果“占用”GPIO 引脚无法与用户空间交互,那么是否有任何机制可以在 dts 文件中配置 GPIO 引脚以进行用户空间交互?

背景

我正在尝试配置许多(10+)GPIO 来与用户空间的低级芯片通信。我已经使用轻松地与芯片交谈了sysfs导出,但内核和编程论坛中的文档都让我担心在我们的生产系统中使用这种机制。

阅读更多我读过的内核文档gpio-hog声明,这似乎是至少在初始配置 GPIO 时的理想机制。从文档中:

GPIO 占用是一种提供自动 GPIO 请求和 配置作为 GPIO 控制器驱动程序探测功能的一部分。

除了设置正确的低电平、供应商设置之外,我还启用了对所需 GPIO 引脚的占用,他们报告了正确的设置。问题是 gpio 似乎属于内核所有,无法与任何用户空间工具(例如sysfs or libgpiod。这使得霸占对我来说基本上毫无用处,也让我想知道它的真正目的是什么。我正在探索libgpiod作为最后的手段,但文档似乎表明hogging应该是我使用的机制。


hog 的意思 - 以阻止其他东西的方式获取或使用很多东西 人们从拥有它

所以基本上 gpio-hog 属性告诉控制器在启动期间将引脚设置为高/低,并且没有其他驱动程序/用户空间会请求它。

如果您打算在用户空间中使用 gpio,则不应使用 gpio-hog

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

GPIO-Hog声明的目的和用途 的相关文章

  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • 如何通过 makefile 在 Linux 上安装程序? [复制]

    这个问题在这里已经有答案了 可能的重复 Linux Unix make install 应该包含什么 https stackoverflow com questions 528399 what should linux unix make
  • 如何在Linux上用C/C++编写Web服务器[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在考虑在 Linux 平台上开发一个小型 阅读 初级 Web 服务器 但我不知道从哪里开始 我希望它能够做的是 监听特定端口 接受
  • Linux中如何避免sleep调用因信号而中断?

    我在 Linux 中使用实时信号来通知串行端口中新数据的到达 不幸的是 这会导致睡眠呼叫在有信号时被中断 有人知道避免这种行为的方法吗 我尝试使用常规信号 SIGUSR1 但我不断得到相同的行为 来自 nanosleep 联机帮助页 nan
  • 如何获取与 shell 中的文件名模式匹配的所有文件的总文件大小?

    我正在尝试仅使用 shell 来计算与文件名模式匹配的所有文件 在目录树中 的总大小 以字节为单位 这是我到目前为止所拥有的 find name undo exec stat c s awk 总计 1 END 打印总计 有没有更简单的方法来
  • 为什么 OS X 和 Linux 之间的 UTF-8 文本排序顺序不同?

    我有一个包含 UTF 8 编码文本行的文本文件 mac os x cat unsorted txt foo foo 津 如果它有助于重现问题 这里是文件中确切字节的校验和和转储 以及如何自己生成文件 在 Linux 上 使用base64 d
  • Ruby:在 Ubuntu 上安装 rmagick

    我正在尝试在 Ubuntu 10 04 上安装 RMagick 看起来here https stackoverflow com questions 1482823 is there an easy way to install rmagic
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • 如何并行执行4个shell脚本,我不能使用GNU并行?

    我有4个shell脚本dog sh bird sh cow sh和fox sh 每个文件使用 xargs 并行执行 4 个 wget 来派生一个单独的进程 现在我希望这些脚本本身能够并行执行 由于某些我不知道的可移植性原因 我无法使用 GN
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • 来自守护程序的错误响应:加入会话密钥环:创建会话密钥:超出磁盘配额

    我尝试在我的服务器上安装 docker 使用本教程 https docs docker com install linux docker ce ubuntu 我想远程运行 docker 镜像并使用 portainer Web 界面来管理一切
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 为什么 fork 炸弹没有使 android 崩溃?

    这是最简单的叉子炸弹 我在许多 Linux 发行版上执行了它 但它们都崩溃了 但是当我在 android 终端中执行此操作时 即使授予后也没有效果超级用户权限 有什么解释为什么它没有使 Android 系统崩溃吗 一句话 ulimit Li
  • 如何才能将 TCP 连接返回到同一端口?

    机器是 RHEL 5 3 内核 2 6 18 有时我在 netstat 中注意到我的应用程序有连接 建立了 TCP 连接本地地址 and 国外地址是一样的 其他人也报告了同样的问题 症状与链接中描述的相同 客户端连接到本地运行的服务器的端口
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Google BQ:运行参数化查询,其中参数变量是 BQ 表目标

    我正在尝试从 Linux 命令行为 BQ 表目标运行 SQL 此 SQL 脚本将用于多个日期 客户端和 BQ 表目标 因此这需要在我的 BQ API 命令行调用中使用参数 标志 parameter 现在 我已经点击此链接来了解参数化查询 h
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh

随机推荐

  • Java重载和继承规则

    我一直在学习 因为我有考试 而且我对 Java 的大部分内容都没有太多问题 但我偶然发现了一条我无法解释的规则 这是一个代码片段 public class A public int method Object o return 1 publ
  • 两个 Div 彼此相邻,然后堆叠响应式更改

    我正在努力实现一些我确信应该比我现在做的更容易的事情 我正在使用 Skeleton 响应式框架 到目前为止一切都很好 这是我想要实现的目标的图表 这将被放置在一列中 一旦该列的大小减小 我希望它按照图中的第二个示例堆叠 div 我尝试了几种
  • 从 tfs 构建中排除测试

    我想从持续集成构建中排除一些测试 但我还没有找到这样做的方法 我尝试过的事情之一是将这些测试的优先级设置为 2 然后在构建中我指定最低测试优先级 1 但它仍然运行这些测试 任何帮助将不胜感激 您应该使用 测试类别 方法 而不是使用已描述的
  • 如何永久清除在启用软删除的情况下创建的整个 azure keyvault?

    当您创建启用了软删除的 azure keyvault 时 即使您将其删除并从头开始重新创建 该 keyvault 仍会保留 启用软删除后 标记为已删除资源的资源将保留指定时间段 默认为 90 天 该服务还提供了一种恢复已删除对象的机制 本质
  • 如何将水平滚动视图移动到特定位置?

    我使用的scrollView没有任何listView或gridview 我刚刚向其中添加了相同的视图 但知道我想以编程方式滚动到特定位置 这可能吗 请帮助我使用水平滚动 你可以使用这个方法 horizontalScrollView scro
  • Angular Jasmine FormControl 单元测试 valueChanges

    我想对以下方法进行单元测试 this boxValue subscribeToFilterChanges void this filterBox valueChanges subscribe data gt if data this box
  • 加入 PIG 对阵 COGROUP

    当我在 pig 中使用 COGROUP 而不是 JOIN 时 有什么优势 性能 没有地图减少 吗 http developer yahoo com hadoop tutorial module6 html http developer ya
  • Kotlin 网站上的“返回 Unit 的方法的构建器风格用法”让我感到困惑

    The IdiomsKotlin 官方文档的部分包含这个例子 http kotlinlang org docs reference idioms html builder style usage of methods that return
  • Kotlin 中带有新参数的 Paging 3.0 列表

    我有以下代码 val history Flow
  • 轻微破坏的意义

    在 C 17 中 新的std optional要求它可以轻易被破坏 如果T在 Optional object dtor 中是可以轻易破坏的 optional 1 Effects If is trivially destructible v
  • sizeof(x) 和 sizeof(p_x) 之间有什么区别

    你能告诉我两者有什么区别吗sizeof x and sizeof p x 在下面的代码中 int x 10 p x p x int malloc 10 sizeof int sizeof x 给出数组使用的字节数x sizeof p x 给
  • 程序退出时如何删除文件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有办法注册一个文件 以便在Python退出时将其删除 无论它如何退出 我正在使用长期存在的临时文件 并希望确保它们被清理 该文件必
  • 启动屏幕故事板迁移问题

    我有一个用 Objective C 构建的应用程序 它使用启动屏幕图像集作为启动画面 根据最近苹果公司的新指南 适用于 iPhone 或 iPad 的应用程序必须使用 iOS 13 SDK 或更高版本构建 并且 使用 Xcode 故事板提供
  • 如何检查同一个java程序的两个实例是否正在运行?

    您好 我正在制作一个将通过 javaw exe 运行的程序 因此它不直接可见 现在我的问题是有时 意外地 用户可能会运行同一应用程序的多个实例 例如输入javaw myProgram两次 在这种情况下 如果程序已经在运行 有什么方法可以阻止
  • Bootstrap Popover 一键点击即可工作 - JavaScript

    我有一些引导按钮 单击按钮时应该显示一个弹出窗口 usernameL onclick function e e currentTarget id popover html true 当网站加载并且我第一次单击按钮时 没有任何反应 如果我第二
  • AlamoFire 在后台会话中下载

    我在新应用程序中使用 Alamofire 基于 Alamofire 的下载管理器示例 我需要一些有关使用后台会话下载文件的说明 我需要重写 SessionDelegate 才能使其正常工作吗 要不就backgroundCompletionH
  • NoClassDefFoundError:android.support.v7.widget.helper.ItemTouchHelper$3

    嗨 我想创建滑动删除RecyclerView结果是崩溃 看着那 这build gradle 我导入了所需的所有库 在代码中我可以使用ItemTouchHelper类但是当我想刷一个项目时它崩溃了 build gradle compile c
  • 在 groupby 之后将组与一个数据帧合并

    我试图回答这个问题 https stackoverflow com questions 47117982 insert missing category for each group in pandas dataframe通过组级合并 下面
  • 为什么只有当可执行文件在 Visual Studio 下运行时 CreateFileA 才会失败?

    我写了一个简单的check file ref函数使用 WinAPI 检查两个路径是否引用同一个文件 代码没问题 它是用 C 语言的 Visual Studio 2017 编译的 标志 TC 奇怪的是CreateFileA当可执行文件在 Vi
  • GPIO-Hog声明的目的和用途

    问题 其目的和用例是什么gpio hog宣言 可以从用户空间连接 占用 的 GPIO 引脚吗 如果 占用 GPIO 引脚无法与用户空间交互 那么是否有任何机制可以在 dts 文件中配置 GPIO 引脚以进行用户空间交互 背景 我正在尝试配置