音频驱动程序基地址,DMA和IRQ

时间:2018-06-28 05:58:29

标签: linux audio driver hardware hardware-programming

过去,您会寻找与设备通讯的基本地址,DMA和IRQ。我有点在寻找对等物。

我希望在Linux中直接与音频设备通信,而不是通过驱动程序。时间不是问题,但是我正在努力寻找所需的信息,并且我知道有可能需要大量代码,这很好。

我想知道是否有人可以为我指出实现这一目标的正确方向。

非常感谢。

2 个答案:

答案 0 :(得分:2)

据我所知,如果您处于Linux的用户模式进程中,并且this guide(标题3)似乎可以确认您无法使用IRQ或DMA,但是经过检查后,我设法找到this Linux driver (udmabuf),使您可以通过用户空间访问DMA缓冲区;也许这就是您想要的?

否则,我会尝试写一个针对您的目的的(udmabuf)类似但更自定义的版本。

我不确定您打算将其用于什么,但是我首先要寻找的是为您想做的事情构建驱动程序(here's how to get started for ALSA仅作为示例)。至少要在此级别进行通信,除非您想进行自己的OS开发? (我认为,如果您真的不能出于任何目的使用驱动程序,那最终就是这样)。

答案 1 :(得分:0)

我自己回答这个问题感到很遗憾,WoodyDev,谢谢您为我指明了正确的方向。

是的,驾驶是最好的选择。

最好的解决方案是读取PCI地址空间,前64个字节包含所有需要的数据。

https://www.safaribooksonline.com/library/view/linux-device-drivers/0596000081/ch15.html