如何从Linux内核空间访问物理地址?

2023-11-29

我正在研究树莓派板。是否可以直接访问GPIO物理地址 从 Linux 内核空间使用 inb()、outb()...?如果是的话怎么办?

GPIO寄存器地址链接 第90页http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf

谢谢


Yes.

  1. 使用以下命令获取到相关寄存器的虚拟地址映射设置ioremap
  2. Use readl/writel来操纵物理内存。

请注意,ARM 处理器会因未对齐的访问而出错。 Linux 可以优雅地处理这个问题,但会降低性能。

小例子:

void __iomem *regs = ioremap(0xdead0000, 4);

pr_info("0xdead0000: %#x\n", readl(regs));

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

如何从Linux内核空间访问物理地址? 的相关文章

  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序

    我有以下程序 include
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 树莓派的设备树驱动内核

    我想用设备树驱动的 Linux 内核启动树莓派 有什么特别的事情要做吗 谁能指出为树莓派设置基于设备树的内核启动需要什么 我可能需要有树莓派内核源代码 其中设备驱动程序应与设备树兼容 如果是这样 我在哪里可以找到 Raspberry Pi
  • 我可以从命令行打印 html 文件(带有图像、css)吗?

    我想从脚本中打印带有图像的样式化 html 页面 谁能建议一个开源解决方案 我使用的是 Linux Ubuntu 8 04 但也对其他操作系统的解决方案感兴趣 你可以给html2ps http user it uu se jan html2
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 如何有效截断文件头?

    大家都知道truncate file size 函数 通过截断文件尾部将文件大小更改为给定大小 但是如何做同样的事情 只截断文件的尾部和头部呢 通常 您必须重写整个文件 最简单的方法是跳过前几个字节 将其他所有内容复制到临时文件中 并在完成
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两
  • Pyaudio 安装错误 - “命令‘gcc’失败,退出状态 1”

    我正在运行 Ubuntu 11 04 Python 2 7 1 并想安装 Pyaudio 于是我跑了 sudo easy install pyaudio 在终端中 进程退出并显示以下错误消息 Searching for pyaudio Re
  • 使用sk_buff添加以太网帧头

    我有一个捕获传出互联网流量的内核模块 Netfilter hook LOCAL OUT 在此挂钩处 仍然没有以太网标头 我构建了以太网头并且可以使用了 但是如何将其连接到skb这样我就可以将整个 skb 结构发送到dev queue xmi
  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp

随机推荐

  • 如何在 iPad 应用程序中显示 Microsoft SQL Server Reporting Services 报告?

    这更像是一个一般性的 我如何开始 的问题 我想在 iPad 应用程序中显示我公司的 SSRS 集成 Sharepoint 报告 但我不知道从哪里开始 谷歌搜索这个概念没有返回任何结果 我们想要一种原生的感觉 而不是在 Web 视图容器中显示
  • 动态创建和销毁日志附加程序

    我有一个遗留的 PSVM 应用程序 我想将其日志输出重定向到每次执行的唯一文件 因此 如果我在 10 00 调用它 那么让它将其输出重定向到 thread id 10 00 log 另一个执行线程可能在 10 01 开始执行 其输出将转到
  • 打印斐波那契数列

    我正在尝试编写一个简单的Python 程序 它应该返回一个返回连续斐波那契数的闭包 def fibGen n 1 0 n 2 0 n 1 def fib if n 1 0 and n 2 0 n 1 1 return n else n n
  • RServe共享库代码

    RServe 生成 的进程是否有可能共享一些曾经加载到内存中的通用库 想象一下 我需要在 100 个不同的 RConnection 上同时执行以下代码 library libraryOfSize40MB fun 这意味着我需要大约 3 9G
  • 在oracle标准版中使用什么功能,例如在oracle企业版中使用分区功能

    我只能使用oracle标准版 oracle标准版的功能提供了分区之类的功能 有没有像MYSQL中那样的逻辑合并表的概念 唯一想到的就是为每个 分区 建立一个真正的表 然后将它们全部联合起来 但是 每次添加或删除 分区 时 您都必须重建视图
  • 如何在bash中将字符串的长度存储在变量中?

    我正在用这个guide作为参考 我可以运行命令来查找字符串的长度 例如 expr length monkey brains 如预期返回 13 然而 我在将结果存储在变量中时遇到了麻烦 比如说一个名为 hi 的变量 首先我尝试直接分配 hi
  • 检查字符串匹配中的多个单词以进行 r 中的文本搜索

    目前我有一个适用于单字搜索的代码 我们可以搜索多个单词并将这些匹配的单词写入数据框中吗 为了澄清 请参阅此post 这是akrun s适用于一个单词的解决方案 这是代码 library pdftools library tesseract
  • 在curl_easy_perform之后接收数据

    我有以下问题 如何编写通过 http response 返回的数据char 缓冲 我发现了几种方法 use CURLOPT WRITEDATA or CURLOPT WRITEFUNCTION but CURLOPT WRITEDATA需要
  • MySQL GROUP BY 来自不同表的多个列

    我有以下表格布局 Table Data Field Type type enum type b type a type id int 11 unsigned data bigint 20 unsigned Table A and B Fie
  • PYTHONPATH 中到底应该设置什么?

    我正在为一个 python 项目工作的其他开发人员编写一个设置文档 并且我一直在阅读PYTHONPATH环境变量 我正在查看我当前的开发系统 并认为我有一些设置错误 导致我的 IDE IntelliJ 在查找 python 库时行为不正确
  • 基于条件的多个箱线图

    我有一个包含两列的数据框 功率栏代表系统的功耗 component status 列根据组件关闭或打开的时间将数据分为两部分 当值为 153 时 该组件为 ON 当值为 150 时 该组件为 OFF 我正在寻找的结果是有一个包含三个箱线图的
  • Java 变量值作为新变量名

    我想知道在 Java 中是否有任何方法可以为新变量指定一个名称 该名称是另一个变量的值 下面的代码是我正在尝试做的事情的一个无效示例 int a 0 while true String a newValue a a 1 or String
  • 无法打印空手道功能文件中的标题

    我正在使用空手道 https github com intuit karate 进行一些 API 测试并使用无效标头进行测试 我想在调试时打印标题 以确保一切都设置正确 这就是我设置并尝试打印的方式 但没有任何效果 我可以在文档中找到有关它
  • 具有 3 个按钮的 UIAlertView 在横向模式下隐藏消息

    我的 UIAlertView 有一条消息和 3 个按钮 我的问题是警报视图通常以纵向显示 但在横向模式下隐藏消息 如下图所示 如何让消息出现 提前致谢 我也遇到同样的问题 但我通过一个小小的改变解决了这个问题 喜欢添加 n n 在 的最后T
  • 如何创建系统还原点? [复制]

    这个问题在这里已经有答案了 安装paint net 我发现了一个字符串正在创建系统还原点 我猜它正在为卷影服务创建一个还原点 不是吗 我不知道 如果我是对的 我该如何在我的应用程序中执行此操作 如果有合适的 Apis 请告诉我 您可以使用系
  • .NET Framework 依赖项的 SAP Crystal Reports 运行时引擎有哪些?

    我正在尝试在全新的 Microsoft Windows Server 2012 R2 x64 虚拟机上安装适用于 NET 框架的 SAP Crystal Reports 运行时引擎 安装因以下错误而停止 错误 1904 模块 C Progr
  • 哪个开源项目使用 castle activerecord?

    除了演示之外 您还能建议任何使用 castle activerecord 进行代码研究的开源项目吗 上面有不少谷歌代码 他们之中有一些是 酒窖经理 博客引擎先生 故事诗 盖亚冲刺 攻占城堡 Issuetracker Net
  • PyCrypto 和 GMP 库未找到错误 [Mac OS 10.6.3]

    我正在尝试安装pycrypto 2 1 0但尝试做 python setup py build 引出 running build running build py running build ext warning GMP library
  • JDK8 的 WebService 客户端生成错误

    我需要在我的项目中使用 Web 服务 我使用 NetBeans 因此右键单击我的项目并尝试添加新的 Web 服务客户端 上次我检查过 这是创建 Web 服务客户端的方法 但它导致了一个断言错误 说 java lang AssertionEr
  • 如何从Linux内核空间访问物理地址?

    我正在研究树莓派板 是否可以直接访问GPIO物理地址 从 Linux 内核空间使用 inb outb 如果是的话怎么办 GPIO寄存器地址链接 第90页http www raspberrypi org wp content uploads