linux-device-driver 相关问题

设备驱动程序在Linux内核中扮演着特殊的角色。它们是以编程方式抽象的“黑盒子”,使特定的硬件响应明确定义的内部编程接口;他们完全隐藏了设备如何工作的细节。

C中宏的NULL定义的含义

我正在编写一个简单的代码,用于通过在procfs中输入内容来访问驱动程序数据。在查看头文件proc_fs.h时,我遇到了一个宏,例如:#define proc_create(name,mode,parent,...

回答 2 投票 0

无法使用outb()调用来点亮键盘LED

我正在尝试使用以下程序(在Internet上找到此程序)点亮Linux中的键盘LED,但似乎什么也没发生。我有什么想念的吗? / * sample.c:端口I / O的非常简单的示例...

回答 1 投票 2

从DMA地址(dma_addr_t)获取PFN?

我想获得与用dma_alloc_coherent分配的内存块关联的PFN,以与PCIe设备一起使用,如下所示:unsigned long pfn;缓冲区= dma_alloc_coherent(&pcie-> ...

回答 1 投票 1

从dma_addr_t获取PFN?

我想获得与用dma_alloc_coherent分配的内存块关联的PFN,以与PCIe设备一起使用,如下所示:unsigned long pfn;缓冲区= dma_alloc_coherent(&pcie-> ...

回答 1 投票 0

系统调用表中通用abi的用法

我添加了一个简单的系统调用,该调用使用printk打印问候世界。为此,我将以下行添加到syscall_64.tbl 434常见的问好__x64_sys_hello编写了一个简单的...

回答 1 投票 1

如何更新系统调用表以使用我的打开功能

我想更新系统调用表以使用我的自定义打开函数,我编写了以下代码#include #include MODULE_LICENSE(“ GPL”);字符* ...

回答 1 投票 0

Linux内核如何发现PCI设备?

在驱动程序端,加载驱动程序模块时会调用pci_register_driver(),如果是内置模块,则会在引导时调用pci_register_driver()。 (无论何时添加设备/驱动程序,驱动程序/设备列表都会循环查找...

回答 1 投票 0

Linux内核中的可写seq_file

我正在对seq_files进行一些实验,对此有些困惑。我分析了seq_file.c中常见功能的实现,并通过seq_printf实现判断内部...

回答 1 投票 1

字符设备驱动程序在读取操作中的偏移量

静态ssize_t读取(结构文件* file,char * buff,size_t len,loff_t * offset){printk(KERN_INFO“ write \ n”);返回simple_read_from_buffer(buff,len,offset,ker_buff,SIZE); }静态...

回答 1 投票 0

xhci-hcd xhci-hcd.0.auto:xHCI主机未响应停止端点命令

[当我多次插入和拔出USB时,控制器提示:[xhci-hcd xhci-hcd.0.auto:xHCI主机未响应停止端点命令]内核4.19.4,CPU:AM4379在此处记录为下方:[329 ....

回答 1 投票 0

关于借助Linux设备驱动程序3本书开发驱动程序的疑问

我正在阅读《 Linux Device Drivers 3rd Edition》一书,并在书中介绍了有关内核2.6的驱动程序。 4.9.0-9-amd64的主要区别是什么?我可以复制几个例子吗...

回答 1 投票 -1

Linux操作系统如何理解底层硬件?

我想学习Linux OS如何理解底层硬件。有人可以建议我从哪里开始获得这种了解,到目前为止,我只知道'/ dev'子目录起着至关重要的作用...

回答 1 投票 0

为什么orig_ax没有正确的系统调用号

我编写了一个基本的kprobe linux内核模块,它将为fork注册一个处理程序,在该处理程序中,我将打印寄存器'orig_ax'的值。 #include #include

回答 1 投票 1

绑定驱动程序如何从从属接口获取RX数据包

我有一个有关如何绑定驱动程序从从属接口获取RX数据包的问题。我发现绑定使用dev_add_pack()为LACPDU和ARP数据包设置处理程序,但是我没有找到...

回答 2 投票 5

无法在BUG()调用后卸载Linux内核模块

这里是我的基本内核模块代码。 #include #include MODULE_LICENSE(“ GPL”);静态int test_bug_init(void){printk(KERN_INFO“%s:init \ n”,...

回答 1 投票 0

为什么我们在BUG()调用后不能卸载linux模块?

这里是我的基本内核模块代码。 #include #include MODULE_LICENSE(“ GPL”);静态int test_bug_init(void){printk(KERN_INFO“%s:init \ n”,...

回答 1 投票 0

为内核模块中的root用户提供权限

Linux Kernel 5.0.0-37我正在编写一个函数来管理权限,该权限将作为指向struct inode_operations的函数指针提供。这是一个简化的存根实现:#include

回答 1 投票 2

Linux内核模块:kernel_write函数出现问题

我在为Linux 4.14.73版本开发LKM时使用kernel_write函数时遇到问题。这是我面临问题的模块部分:void change_led_state(char * led_pa th,...

回答 2 投票 0

是否可以在.ppd文件中设置每个表单的行数

我安装了装有CUPS的Ubuntu服务器。我们有一台旧的IBM InfoPrint 6500打印机,我已经在Cups中安装了它,并且可以从CUPS成功打印到它。我正在打印到14x11 Greenbar纸上...

回答 1 投票 0

如何使用Shell脚本创建.log文件序列?

我需要一些帮助,我需要创建一系列文件。例如1.log 2.log 3.log 4.log等等,详细信息我需要在所需的...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.