日期:2014-05-16  浏览次数:20548 次

内核态进程打开设备的问题
我修改了ARM   Linux内核,在我修改的代码中有一段是要使用一块FPGA芯片提供的功能,我不知道能不能直接open设备文件,再write和read。如果不能的话我该怎么做才能打开设备。

------解决方案--------------------
应该不行,open和read,write都是用户态打开设备的调用。

如果要在内核态使用设备,应该使用驱动为内核提供的系统调用,或者直接把驱动include进去,直接调用驱动里read,write的相应函数。
------解决方案--------------------
不行
你是要实现驱动叠加?

在内核中你就是老大,所以你可以直接访问FPGA驱动中的函数
------解决方案--------------------
就是你找到FPGA的驱动程序代码,直接调用里面的读写函数或者干脆你找到核心代码,直接复制过来做底层操作就可以了。
------解决方案--------------------
能够直接访问驱动中的函数这我知道,可是我调read,write时文件名用哪个啊?
=====================================================================
那个文件是用来给用户态跟内核态交互用的,它不是一个物理设备
对于你来说操作的应该是“物理设备”而不是用户态的那个“文件名”