我正在Linux中编写一个设备驱动程序,需要为其实现DMA
。
显然,CCD_ 2缓冲器可以通过对CCD_ 3的调用来分配。但是,我们如何从用户级别向这些缓冲区写入命令呢?
任务包括将值写入特定寄存器,这些是如何使用DMA
命令实现的?
我相信您可以通过I/O操作使用DMA进行编写,这些操作可以通过GNU C库进行访问。您必须使用ioperm或iopl等系统调用并以root身份运行才能访问DMA寄存器。至少这是一个人获得对IO空间的访问的方式,IO空间可以用于DMA访问。虽然我可能不会完全回答这个问题,但希望这能为你指明一个好的方向。