我是open source project that relies on the DMA controller to do PWM on Raspberry Pi IO pins的維護者。這項技術需要使用一個DMA通道。我們在歷史上對DMA通道0進行了硬編碼,但得到了多個錯誤報告,指出X在同一時間運行時程序無法正常工作(錯誤報告:here和here,etc)。如何在用戶空間分配DMA通道?
我們在Raspberry PI固件中找到了Mailbox API,它包含一個管理DMA通道等共享資源的API並找出哪些可用。
Pattrick Hueper gave this a try但它仍然報告通道0可用。也許X不會使用這個API來發布它正在使用的頻道。
我發現dma_request_channel()
用於內核空間程序,但在用戶空間中不可用。
在計算機上成爲好公民並且避免與其他工具衝突時,從用戶空間使用DMA通道的正確方法是什麼?