我想问你的建议如下:我需要为omap3编写驱动程序,通过fpga访问外部dsp(通过gpmc接口)。 dsp需要将文件加载到dsp,并从dsp读取/写入缓冲区。内核中已有FPGA驱动程序。内核是2.6.32。所以我想到了以下几个选项:
在内核中编写dsp驱动程序,它使用现有的fpga驱动程序。
编写与fpga内核驱动程序接口的用户空间驱动程序。
使用UIO编写用户空间驱动程序,该驱动程序不使用内核fpga驱动程序,但应该访问fpga,作为用户空间单个和完整dsp驱动程序的一部分。
您认为首选的选项是什么? 内核驱动程序优于用户的优势是什么,反之亦然?
谢谢,Ran
答案 0 :(得分:3)
*用户空间驱动程序:
*内核空间驱动程序:
作为一名内核工程师,我在内核环境中更容易/快乐地破解代码,这可能就是我在内核中编写整个驱动程序的原因。
但是,我想说最好的办法是将驱动程序的功能划分为单位,只有在有理由的情况下才将单位放在内核中。
例如: