当前位置: 技术问答>linux和unix
内核态进程打开设备的问题
来源: 互联网 发布时间:2016-02-08
本文导语: 我修改了ARM Linux内核,在我修改的代码中有一段是要使用一块FPGA芯片提供的功能,我不知道能不能直接open设备文件,再write和read。如果不能的话我该怎么做才能打开设备。 | 应该不行,open...
我修改了ARM Linux内核,在我修改的代码中有一段是要使用一块FPGA芯片提供的功能,我不知道能不能直接open设备文件,再write和read。如果不能的话我该怎么做才能打开设备。
|
应该不行,open和read,write都是用户态打开设备的调用。
如果要在内核态使用设备,应该使用驱动为内核提供的系统调用,或者直接把驱动include进去,直接调用驱动里read,write的相应函数。
如果要在内核态使用设备,应该使用驱动为内核提供的系统调用,或者直接把驱动include进去,直接调用驱动里read,write的相应函数。
|
不行
你是要实现驱动叠加?
在内核中你就是老大,所以你可以直接访问FPGA驱动中的函数
你是要实现驱动叠加?
在内核中你就是老大,所以你可以直接访问FPGA驱动中的函数
|
就是你找到FPGA的驱动程序代码,直接调用里面的读写函数或者干脆你找到核心代码,直接复制过来做底层操作就可以了。
|
能够直接访问驱动中的函数这我知道,可是我调read,write时文件名用哪个啊?
=====================================================================
那个文件是用来给用户态跟内核态交互用的,它不是一个物理设备
对于你来说操作的应该是“物理设备”而不是用户态的那个“文件名”
=====================================================================
那个文件是用来给用户态跟内核态交互用的,它不是一个物理设备
对于你来说操作的应该是“物理设备”而不是用户态的那个“文件名”