linux-device-driver

    0热度

    1回答

    我正在构建一个“外部”模块(设备驱动程序),即它不在Linux内核源代码树中,但是在单独的无关的源码树。 我想使用ctags来浏览通过头文件从内核拉入的变量/函数声明和定义。 比如假设我有: ~/src/kernel-source ~/src/my_external_module ,我已经运行make tags为内核的话,我怎么可以运行的ctags对我的模块,这样它会拿起从什么实际上是一个独

    2热度

    3回答

    我有一个编译和加载到Linux内核的驱动程序就好了。在这个驱动程序中有一些函数,我想从内核文件'fs/readdir.c'中访问。 此外,如何测试驱动程序是否已加载? 我需要类似下面的内容。 if(myDriver is loaded){ myDriver.functionCall(); } 我在互联网搜索中找到的所有例子都是从用户空间应用程序中完成的。

    1热度

    2回答

    我正在编写内核模块,需要执行从现有块设备的读取操作。 (的/ dev /东西)。 有没有人知道任何其他模块,这些我可以用作参考? 任何指针将受到欢迎 (Linux.2.6.30)

    3热度

    2回答

    根据LWN上的the list of API changes in the 2.6 kernel series,.owner字段的struct proc_dir_entry在2.6.30内核中被删除。 所以这里有几个问题: 是不是真的曾经有必要或有益的设置这个领域? 该字段是刚刚被移动到其他地方,或永久删除? 我问第一个问题,因为虽然从内核文档the LKMPG set's this field

    3热度

    1回答

    我最新的微处理器(飞思卡尔iMX233)有8个硬件叠加加内置的YUV到RGB转换功能。他们通过v4l2驱动程序公开了这些功能。 v4l2 Documentation并没有说如何使用它。是否有任何教程可用或任何可用于学习v4l2 apis的参考代码?

    16热度

    1回答

    我在读LKMPG(See Section 4.1.4. Unregistering A Device),我不清楚何时使用try_module_get/module_put函数。一些LKMPG的例子使用它们,有些则不。 为了增加混淆,try_module_get在2.6.24源文件中的193个文件中出现了282次,而在Linux Device Drivers (LDD3)和Essential Lin

    0热度

    1回答

    我试图编译linux内核,但得到一些错误。 在运行顶层Makefile我收到以下错误: - CHK include/linux/version.h CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-x86 HOSTCC scripts/selinux/mdp/mdp scripts

    12热度

    4回答

    我正在寻找一个内核模式调用,我可以从驱动程序,用户空间实用程序或系统调用中调用内核模式调用,它会要求内核查看PCI总线并完全重新运行其初始化或初始化一个特定的设备。具体来说,我需要内核识别引导后添加到总线的设备,然后配置其地址空间,中断和其他配置参数,最后启用设备,以便我可以为它加载驱动程序(除非这一切作为驱动程序负载的一部分发生)。 我卡上的2.4.x系列的内核对于这一点,和我目前正在与2.4.

    1热度

    1回答

    在某些PCI硬件的设备驱动程序中,我有一个ioctl调用,它等待PCI总线上的传入中断。使用wait_queue_head_t,我通过拨打schedule()让任务进入睡眠状态。 然后,irq_handler函数在PCI总线上产生中断时唤醒此任务。一切似乎正常工作。 我的问题是如何区分schedule()呼叫是因为我的irq_handler函数唤醒它还是因为某些信号已被发送而返回? 我必须自己处理

    3热度

    1回答

    我已经实现了一个字符设备,我想问一下如果这是正确的: 在用户空间我和两个指针的结构体。 我write这个结构到我的设备。 在我的write函数中char器件我copy_from_user这个结构成kmalloced空间。 在此之后,我在KS,并得到2美国指针,所以我想copy_from_user每个。我是否允许通过使用此复制的地址在第一个copy_from_user后执行此操作?他们指向美国申请中