kernel-module

    5热度

    2回答

    我复制并粘贴此URL中的代码,用于使用内核模块创建和读取/写入proc文件,并获取proc_root未声明的错误。同样的例子是在几个网站上,所以我认为它的工作原理。任何想法,为什么我会得到这个错误?我的生成文件是否需要不同的东西?下面是我的makefile还有: 一个基本的proc文件的创建示例代码(直接复制粘贴即可初步测试完成): http://tldp.org/LDP/lkmpg/2.6/ht

    2热度

    1回答

    我在网上找到了几个可以创建proc文件的例子,为读取或写入每次打开proc文件分配读取和写入方法。 但是,我似乎无法找到任何有关如何以编程方式写入proc文件的文档。理想情况下,我希望每次打开proc文件进行读取或写入时,都会为其他用户详细信息添加时间戳。再次,我已经找到了可以添加在proc文件打开时触发的读写函数的位置,但是我找不到有关如何以编程方式实际写入proc文件的文档。这与常规的IO读/

    2热度

    1回答

    我需要将整数转换为Linux内核中的ASCII表示。我怎样才能做到这一点?我找不到任何内置的转换方法。内核中是否有任何内容,或者是否需要添加自己的内核?

    12热度

    3回答

    所以我试图编写一个使用linux/timer.h文件的内核模块。我只是在模块内部工作,现在我正试图从用户程序开始工作。 这里是我的内核模块: //Necessary Includes For Device Drivers. #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include

    9热度

    1回答

    在Linux内核中,是否有任何数据结构自动始终保存分区的最后一个写入块号?我找不到任何可用于获取此信息的内置内核源代码。任何帮助表示赞赏。

    0热度

    1回答

    我制作了一个内核模块并使用下面的代码尝试创建/ dev/mytimer条目。 #define DEVICE_NAME "mytimer" #define MAJOR_NUM 61 static struct class *fc; fc = class_create(THIS_MODULE, DEVICE_NAME); device_create(fc, NULL, MAJOR_NUM,

    3热度

    1回答

    我正在使用远程(k)gdb调试模块中的问题,导致加载时出现恐慌,例如,当调用init()时。 堆栈跟踪只显示do_one_initcall(mod->init)导致崩溃。为了获得加载到gdb中的符号文件,我需要获取模块文本部分的地址,并获得我需要加载的模块。 因为BusyBox中的insmod(1.16.1)不支持-m所以我坚持到grep modulename /proc/modules +添加来

    1热度

    1回答

    当我的TimerExpire函数在计时器结束时最终调用时,它会打印出乱码。有人知道为什么但我在IOCTL_MAKE_TIMER中的printk函数正确打印出来,所以我认为这是因为我错误地传递了数据。通过在第一个参数中设置计时器,告诉它调用第二个参数指定的函数,并将数据(这是第三个参数)传递给该函数,setup_timer()工作。 在我的情况下,它调用TimerExpire(char * data

    4热度

    1回答

    所以 - Android是建立在精简的Linux系统之上的。大多数方便的工具都丢失了,但所有的基础知识都在那里。 我可以调用insmod和rmmod。没问题。 但是内核模块和固件文件驻留在哪里?我找不到任何。标准分布中没有/ lib /模块。 问题:我需要模块。当然,不希望将世界上每个USB设备的支持编译到linux内核中。我应该把他们放在哪里?

    0热度

    1回答

    我已经看到了一些示例代码,这是否: proc_entry->read_proc = module_read; proc_entry->write_proc = module_write; 然而,我的模块中,我使用的ioctl,而不是读取和写入。这里是我的ioctl函数原型: int mytimer_ioctl(struct inode *inode, struct file *file, u