【发布时间】:2012-01-01 04:18:26
【问题描述】:
我收到了一个驱动程序(PCI 卡的 PCAN 驱动程序,使用 rtdm),它创建 /dev/pcan0 并且 /dev/pcan1 被编译为 netdev 驱动程序。
此驱动程序附带了许多工具,但它们都针对读取 CAN 消息的用户级程序。然而,我需要的是从内核模块中读取这些消息。 PCAN 驱动程序不导出任何变量/函数,这意味着它不提供内核级 API 供我使用。
我简要查看了代码并从 /dev 设备读取并写入它不使用 copy_from_user 或 copy_to_user。因此,我认为从我的内核模块打开 /dev/pcan0 并从中读取应该是安全的。
现在我的问题是,如何从内核模块打开/读取 /dev 设备?
附:我想从 RTAI 实时线程读取 CAN 总线,你认为这会导致问题吗(例如每次读取都通过 linux 内核并因此破坏实时条件?)
【问题讨论】:
标签: linux-kernel device kernel-module can-bus rtai