音频驱动程序基地址、DMA 和 IRQ
Audio driver base address, DMA and IRQ
在过去,您会寻找基地址、DMA 和 IRQ 来与设备通信。我有点在寻找等价物。
我希望在 Linux 中直接与音频设备通信,而不是通过驱动程序。时间不是问题,但我正在努力寻找我需要的信息,而且我知道可能需要大量代码,没关系。
我想知道是否有人可以指出我实现这一目标的正确方向。
非常感谢。
据我所知,如果您处于 linux 和 this guide (heading 3) seems to confirm that, however after checking I managed to find this Linux driver (udmabuf) 允许您通过用户访问 DMA 缓冲区的用户模式进程中,您将无法使用 IRQ 或 DMA space;也许这就是您要找的东西?
否则我可能会尝试编写一个类似的,但更加定制化的 (udmabuf) 版本,具体到您的目的。
我不完全确定你打算用它做什么,但我首先要寻找的是为你想做的事情构建一个驱动程序(here's how to get started for ALSA 只是作为一个例子)。至少要在这个级别上进行交流,除非您想进行一些自己的 OS 开发? (如果你真的不能出于任何目的使用驱动程序,我认为这将是最终的方式)
WoodyDev,我自己回答这个问题感觉很糟糕,谢谢你给我指明了正确的方向。
你说得对,driver 是最好的方法。
最好的解决方案是读取 PCI 地址 Space,前 64 个字节包含所有需要的数据。
https://www.safaribooksonline.com/library/view/linux-device-drivers/0596000081/ch15.html
在过去,您会寻找基地址、DMA 和 IRQ 来与设备通信。我有点在寻找等价物。
我希望在 Linux 中直接与音频设备通信,而不是通过驱动程序。时间不是问题,但我正在努力寻找我需要的信息,而且我知道可能需要大量代码,没关系。
我想知道是否有人可以指出我实现这一目标的正确方向。
非常感谢。
据我所知,如果您处于 linux 和 this guide (heading 3) seems to confirm that, however after checking I managed to find this Linux driver (udmabuf) 允许您通过用户访问 DMA 缓冲区的用户模式进程中,您将无法使用 IRQ 或 DMA space;也许这就是您要找的东西?
否则我可能会尝试编写一个类似的,但更加定制化的 (udmabuf) 版本,具体到您的目的。
我不完全确定你打算用它做什么,但我首先要寻找的是为你想做的事情构建一个驱动程序(here's how to get started for ALSA 只是作为一个例子)。至少要在这个级别上进行交流,除非您想进行一些自己的 OS 开发? (如果你真的不能出于任何目的使用驱动程序,我认为这将是最终的方式)
WoodyDev,我自己回答这个问题感觉很糟糕,谢谢你给我指明了正确的方向。
你说得对,driver 是最好的方法。
最好的解决方案是读取 PCI 地址 Space,前 64 个字节包含所有需要的数据。
https://www.safaribooksonline.com/library/view/linux-device-drivers/0596000081/ch15.html