当前位置: 技术问答>linux和unix
Linux 中多个字符设备的驱动问题。
来源: 互联网 发布时间:2016-11-01
本文导语: 我在 S3C2440 开发板上加了一个USB设备,又加了一个FPGA设备。我把他们都当做字符设备来处理。用字符设备驱动的方式给他们写了驱动。在上层应用程序读写他们时发现了一个问题。就是我的usb 和fpga都是用的 open()...
我在 S3C2440 开发板上加了一个USB设备,又加了一个FPGA设备。我把他们都当做字符设备来处理。用字符设备驱动的方式给他们写了驱动。在上层应用程序读写他们时发现了一个问题。就是我的usb 和fpga都是用的 open() read() write()函数,在调用Usb设备驱动的open read write时,是不是和fpga设备驱动中的 三个函数冲突了??
我改如何做,才能准确的分别调用usb和 fpga中的 open read ,write函数呢??
我改如何做,才能准确的分别调用usb和 fpga中的 open read ,write函数呢??
|
你的open里 打开的dev下的设备不一样, 所以不会有冲突
|
楼主需要多看看《linux设备驱动程序》之类的书
|
难道你的usb和FPGA是用的同一个驱动?即使同一个驱动,他们的设备号也是不同的。不会有任何冲突的。
|
不会的,在应用程序中open("xxx"),这个是xxx是设备名,open的时候会根据不同的设备调用不同的open。如usb open打开的就是usb驱动程序中的open,而fpga open打开的是fpga的open。建议可以去看看LDD3。