如何从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内核空间访问物理地址? 的相关文章

  • 无法连接到 Azure Ubuntu VM - 公钥被拒绝

    我们在 Azure 上使用 Ubuntu VM 一段时间了 很少遇到任何问题 然而 其中一台虚拟机最近出现了问题 出乎意料的是 Ubuntu VM 开始拒绝公钥 ssh i azure key email protected cdn cgi
  • C++ Linux GCC 应用程序中的 GUID

    我有很多服务器运行这个 Linux 应用程序 我希望他们能够生成一个碰撞概率较低的 GUID 我确信我可以从 dev urandom 中提取 128 个字节 这可能没问题 但是有没有一种简单易用的方法来生成与 Win32 更等效的 GUID
  • 有没有办法提高linux管道的性能?

    我正在尝试使用 64 位将超高速数据从一个应用程序传输到另一个应用程序CentOS http en wikipedia org wiki CentOS6 我使用以下方法进行了基准测试dd发现阻碍我的是管道而不是程序中的算法 我的目标是达到
  • 安装 JDK 时出错:keytool 命令需要已安装的 proc fs (/proc)。 Linux 的 Windows 子系统

    我尝试在 Linux 的 Windows 子系统 Ubuntu 14 04 上安装 Oracle JDK 1 7 但出现以下错误 the keytool command requires a mounted proc fs proc Jav
  • Linux 中的 Windows NAmed Pipes 替代品

    我们正在将现有的 Windows 代码移植到 Linux 我们使用 ACE 作为抽象层 我们使用 Windows 命名管道与多个客户端进行通信并执行重叠操作 linux 下这个相当于什么 我检查了linux命名管道 FIFO 但它们似乎只支
  • 虚拟内存澄清——大连续内存的分配

    我有一个应用程序 我必须在 Windows 上分配 使用运算符 new 相当大的内存空间 数百 MB 该应用程序是 32 位 我们现在不使用 64 位 即使在 64 位系统上也是如此 我启用了 LARGEADDRESSAWARE 链接器选项
  • 内核模块未加载(但 insmod 返回 0)

    我必须向现有设备 mips arch 添加一些功能 我已经尝试了几个 SDK 目前我取得了一些进展 但是 insmod 返回 0 成功 并且 lsmod 显示它们 但是 printk 和 create proc entry 都不起作用 但我
  • 在 Windows / Linux 中创建 Mac 包

    我自己努力制作一个 r 包 我按照 stackoverflow 中上一个问题的说明进行操作如何为外行开发软件包 http cran r project org bin windows Rtools 以下是我根据上一个问题采取的步骤 在新的
  • 删除 Python 中某些操作的 root 权限

    在我的 Python 脚本中 我执行了一些需要 root 权限的操作 我还创建并写入文件 我不想由 root 独占所有 而是由运行我的脚本的用户独占所有 通常 我使用以下命令运行脚本sudo 有办法做到上述吗 您可以使用以下方式在 uid
  • 如何在没有竞争条件的情况下将两个 32 位计数器读取为 64 位整数

    内存 0x100 和 0x104 是两个 32 位计数器 它们代表一个 64 位定时器并且不断递增 如何正确读取两个内存地址并将时间存储为 64 位整数 一种错误的解决方案 x High y Low result x lt lt 32 y
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • ARM 的内核 Oops 页面错误错误代码

    Oops 之后的错误代码给出了有关 ARM EX 中的恐慌的信息 Oops 17 1 PREEMPT SMP在这种情况下 17 给出了信息 在 x86 中它代表 bit 0 0 no page found 1 protection faul
  • Linux 阻塞与非阻塞串行读取

    I have 这段代码 https stackoverflow com questions 6947413 how to open read and write from serial port in c用于在Linux中从串行读取 但我不
  • 民意调查立即从驱动程序中退出

    这是我第一次在 Linux 内核中实现驱动程序并面临这个问题 我正在尝试在我的字符驱动程序中实现 poll 我已调用 poll wait 并传递了一个等待队列 当从用户空间程序打开该驱动程序的设备文件并在此设备文件描述符 fd 上调用 po
  • C# - OPC-UA 服务器应用程序尚未在 Linux 计算机中创建 PKI 证书

    当我跑步时OPC UA serverWindows 机器中的 C 应用程序 然后 OPC UA 服务器已创建证书路径C ProgramData OPC Foundation pki own 并在此路径中生成一些证书 但是当我在中安装 OPC
  • python 可以检测它运行在哪个操作系统下吗?

    python 可以检测操作系统 然后为文件系统构建 if else 语句吗 我需要将 Fn 字符串中的 C CobaltRCX 替换为 FileSys 字符串 import os path csv from time import strf
  • 如何从外部模块导出符号?

    我在内核源代码树之外进行编码 有两个模块 第一个printt有一个功能printtty 将字符串打印到当前 tty 以及第二个模块hello这会调用printtty 在初始化期间 我已经添加了EXPORT SYMBOL printtty 在
  • bash "&" 不打印 "[1]+ Done "

    我在 bashrc 中调用一个脚本来打印打开终端时收到的新消息数 我希望该调用在访问网络时是非阻塞的 有时需要几秒钟 这意味着我无法使用终端直到完成 但是如果我输入 mailcheck 在我的 bashrc 中 它工作正常 但然后打印一个空
  • VSCODE 在 Linux 上不适用于我

    刚刚了解 VSCODE 很高兴尝试一下 我下载 解压并运行可执行文件 我得到 Code 2183 0429 201254 ERROR browser main loop cc 170 Running without the SUID san

随机推荐

  • 如何在 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