Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
为嵌入式系统中的平台总线编写设备驱动程序?
我已经浏览了 Linux 内核源代码中的一些驱动程序实现 可以看到这些是平台驱动程序 drivers net ethernet smsc smsc911x c static struct platform driver smc911x dr
Embedded
arm
linuxdevicedriver
embeddedlinux
启用 DMA 的 UART Tx 模式
我已经为 UART 在传输模式下编写了一个简单的设备驱动程序 并启用了 DMA 和中断 我使用的硬件是 omap 4460 pandaboard 其中加载了 Linux 3 4 下面我分享一下相关部分的代码 在开放阶段 dma map io
linuxdevicedriver
embeddedlinux
UART
DMA
Linux驱动程序DMA传输到PC作为主机的PCIe卡
我正在开发一个 DMA 例程 将数据从 PC 传输到 PCIe 卡上的 FPGA 我阅读了 DMA API txt 和 LDD3 ch 15 详细信息 但是 我不知道如何从 PC 到 PCIe 卡上的一致 iomem 块进行 DMA 传输
Linuxkernel
linuxdevicedriver
FPGA
DMA
PCIe
Linux 内核:为什么“子类”结构将基类信息放在末尾?
我正在阅读中的章节美丽的代码 http shop oreilly com product 9780596510046 do关于 Linux 内核 作者讨论了 Linux 内核如何在 C 语言中实现继承 以及其他主题 简而言之 定义了一个 基
c
pointers
datastructures
Linuxkernel
linuxdevicedriver
如何从 Linux 内核空间向用户空间发送信号以通知输入硬件事件
我的内核模块代码需要向用户态程序发送信号 以将其执行转移到注册的信号处理程序 事实上 我为我的嵌入式板开发了一个 C 程序 当我按下按钮 输入事件 时 它可以使 LED 打开和关闭 另一方面 我刚刚开发了一个简单的 Linux 模块及其基本
c
Linuxkernel
signals
linuxdevicedriver
kernelmodule
Linux内核:从内核空间调用用户空间的回调函数
我正在编写 Linux 用户空间应用程序 我想从内核空间调用用户空间区域中注册的回调函数 即中断到达 GPIO 引脚 开关按下事件 并在用户空间中调用注册函数 有没有什么方法可以做到这一点 Thanks 经过大量挖掘后 我发现了下面的代码
Linux
Linuxkernel
linuxdevicedriver
embeddedlinux
无法使用clangd读取linux内核代码
我有一些关于Linux内核驱动程序的代码 我用熊使生成compile commands json 这是我的一些compile commands json directory usr src linux headers 5 4 0 90 ge
linuxdevicedriver
vscodeextensions
clangd
我们可以在 c++ 中使用 POSIX C 库吗?
我是 Linux 系统编程领域的新手 我目前使用 C 编程 想切换到 C 我们可以在 c 中使用 POSIX C 库中定义的所有函数而不进行任何更改吗 原则您应该能够使用 C 中的任何 C API 该语言包含有利于它的功能 大多数 C 库作
c
Linux
Linuxkernel
POSIX
linuxdevicedriver
Linux 内核中信号处理的堆栈帧
我看到进程需要处理信号的堆栈帧是在函数中分配的setup rt frame 我的问题是 它在哪里取消分配 谢谢你 setup rt frame 设置堆栈为实时信号 see 男人7信号 http man7 org linux man page
Linux
Linuxkernel
signals
linuxdevicedriver
在 Linux 内核中分配超过 4 MB 的固定连续内存
为了与正在构建的 PCI 设备进行一些交互 我们希望创建主板可以访问的大块连续内存 就目前情况而言 我能够分配的最大内存大小为 4 MB 我想知道是否有任何方法可以创建更大的区域 我知道我可以使用启动选项mem 这样做 但出于 numa 的
memory
Linuxkernel
linuxdevicedriver
在内核模式下读取/写入 Linux 上的 EFI 变量
我正在研究 Linux UEFI 我想通过我的驱动程序代码访问 efi 变量 目前我正在寻找像 efi get variable 这样的 linux efi h API 但我不知道如何从我的驱动程序代码中调用这些 API struct ef
Linuxkernel
linuxdevicedriver
EFI
UEFI
Linux下删除/重写/生成键盘事件
我想在 Linux 下挂钩 拦截和生成键盘 make break 事件 然后再将它们传递给任何应用程序 更准确地说 我想检测关键事件流中的模式 并能够根据检测到的模式丢弃 插入事件到流中 我在 SO 上看到了一些相关问题 但是 它们要么只处
Linux
Keyboard
linuxdevicedriver
keyboardevents
Xlib
访问模块内的 IRQ 描述数组并显示操作名称
我正在用 C 语言编写一个内核模块 该模块正在努力访问 IRQ 描述数组元素并显示这些元素的所有操作名称 一开始 我认为这个 irq desc 数组就像一个宏 但编译后我明白它不是 然后我使用了 for each irq desc irq
c
Linuxkernel
Kernel
linuxdevicedriver
irq
在 Linux 2.6 驱动程序模块 makefile 中创建调试目标
我试图能够在命令行执行 make debug 它将使用 DDEBUG OUTPUT 定义构建我的驱动程序模块 这将导致代码的某些部分被编译 在 2 4 内核 makefile 中 这非常简单 我只是创建一个 debug 目标 并在该目标的
Linux
Linuxkernel
linuxdevicedriver
C 中的函数模拟?
我正在编写一个单元测试来检查一些 API 调用 我正在使用检查来测试 我的模块是使用 CMake 构建的 如果重要的话 我不知道 我的测试调用一个函数 我需要测试 并且该函数调用另一个二进制文件 它的简化版本看起来像这样 unitTest
c
unittesting
Linuxkernel
mocking
linuxdevicedriver
设备树中的GPIO hog是什么?
我正在尝试在 am335 的设备树中设置引脚模式 我如下更改设备树中的 pinmux 节点 pinctrl test pinctrl test pins pinctrl single pins lt 0x078 0x07 P9 12 OUT
Linux
linuxdevicedriver
beagleboneblack
devicetree
gcc --- __attribute__((中断( irq )))
我从手臂的设备驱动程序开始 在那里我看到每个处理程序都提到了 attribute interrupt irq 我很困惑这个属性将如何调用我们的驱动程序例程 Arm的IRQ有以下向量地址 0x00000018 或0xFFFF0018 因为同一
gcc
arm
linuxdevicedriver
embeddedlinux
如何在内核模块代码中包含 C 回溯?
所以我试图找出哪些内核进程正在调用块驱动程序中的某些函数 我认为在 C 库中包含 backtrace 会让事情变得容易 但我在加载回溯时遇到问题 我复制了这个示例函数来显示回溯 http www linuxjournal com files
c
linuxdevicedriver
Kernel
Backtrace
如何在 Linux 上拦截来自 USB 设备的消息?
我有一个流行的绘图板 我用 USB 连接到我的电脑 连接后 平板电脑会检测手部动作并相应地操纵指针 在某个地方 平板电脑正在将这些数据传输到我的计算机 我的目标是拦截这些传输并在处理数据后操纵鼠标 我发现的流行语是 设备驱动程序 and H
Linux
usb
linuxdevicedriver
tablet
英特尔处理器:“如果 CPUID.06H:EAX.[7] = 1”是什么意思?
英特尔处理器数据表中的以下注释是什么意思 如何在 Linux 中的驱动程序代码中检查这一点 如果CPUID 06H EAX 7 1 我在英特尔处理器的软件开发人员手册的寄存器描述表的注释栏中遇到了这种类型的语句 Ref https soft
Linuxkernel
linuxdevicedriver
intel
microprocessors
«
1
2
3
4
5
6
7
»