大家好,
我正在尝试使用 Zephyr 的 UAC2 异步显式反馈示例在 i.MX RT1020 上实现 USB 到 I2S 音频管道,但我遇到了 NXP SAI (I2S) 驱动程序和 eDMA 的问题。
在我花更多时间调试 DMAMUX 和 IRQ 配置之前,有没有人知道使用 Zephyr 为 RT10xx 系列提供的可用的 USB 转 I2S 示例?
我特别想找一个在 Zephyr 上实现 UAC2 到 SAI 音频路径的参考项目。
提前感谢!
嗨@lpc73 ,
感谢您对 NXP MIMXRT 系列产品的关注!
目前上游 Zephyr 版本中还没有适用于 RT10xx 的现成 UAC2→SAI 参考项目。RT10xx 支持所有构建模块:SAI/I2S 驱动程序 (nxp,mcux-i2s)、eDMA 和 UAC2 类。DMAMUX 路由是通过设备树属性 nxp,tx-dma-channel / nxp,rx-dma-channel + pinctrl 完成的,而不是在 C 语言中手动完成的。您需要添加的主要部分是 RT 平台的反馈回路,并且务必将 DMA 音频缓冲区放置在不可缓存的内存中。
如果 Zephyr 不是必需的,MCUXpresso SDK 的 dev_audio_speaker + sai_edma_transfer 是最成熟的即用型 UAC2→SAI 示例。
此致,
加文