我收到一个驱动程序(用于PCI卡的PCAN驱动程序,使用rtdm),它创建了/ dev/pcan0,/ dev/pcan1被编译为netdev驱动程序。如何从内核模块访问(打开/读取/ etc)/ dev设备?
该驱动程序附带有许多工具,但它们都是针对读取CAN消息的用户级程序。然而我需要的是从内核模块读取这些消息。 PCAN驱动程序不会导出任何变量/函数,这意味着它不提供内核级别的API供我使用。
我简短地看了一下代码,并从/ dev设备读取,并写入它不使用copy_from_user
或copy_to_user
。因此,我认为从我的内核模块打开/ dev/pcan0并从中读取它应该是安全的。
现在我的问题是,我如何从内核模块打开/读取/ dev设备?
P.S.我想从RTAI实时线程读取CAN总线,你认为这会导致一个问题(例如每次读取通过Linux内核并因此破坏实时条件?)
潜在有用:http://www.linuxjournal.com/article/8110?page=0,0 – sarnold