请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:OMAPL138B-EP Thread 中讨论的其他器件:OMAPL138
您好!
我正在 尝试在 Linux 环境中的 OMAPL138 SoC 上测试 McBSP 驱动程序。 我尝试在"数字回路"模式下播放和捕获.wav 文件、但由于发生 XSYNCERR、在回放期间会失败、即使我在启用发送器之前清除了该位也是如此。 通过 将 SRGR 寄存器中的 FSGM 位复位为零(0)、我已选择在每个 DXR 到 XSR 复制上发生帧同步。 时钟设置为:
/*设置帧速率和时钟速率*/
bit_per_frame = 16;
bit_rate = bit_per_FRAME * frm_rate;
clk_div =150000000/ bit_rate;
SRGR [CLKGDV]= clk_div - 1;
我还尝试将值设置为:
CLK_div = 16000000 / bit_rate;
以下是 McBSP 寄存器配置(在播放期间):
[在启用发送器之前。]
SPCR 内容 :0x8000
RCR 的内容 :0x10000 [0x80410040 (当运行 aplay 和 arecord 时)]
XCR 内容 :0x80410040
PCR 内容 :0xf03
SRGR 的内容:0x20200051
[启用发送器后。]
SPCR 内容 :0xcd8000
RCR 的内容 :0x10000 [0x80410040 (当运行 aplay 和 arecord 时)]
XCR 内容 :0x80410040
PCR 内容 :0xf03
SRGR 的内容:0x20200051
以下是 EDMA 的寄存器内容(来自 Linux 源代码)。
SH_ER0 00000000
SH_ECR0 00000000
SH_ESR0 00000000
SH_CER0 00000000
SH_EER0 00000008
SH_EECR0 00000000
SH_EESR0 00000000
SH_SER0 00000000
SH_SECR0 00000000
SH_IER0 00000008
SH_IECR0 00000000
SH_IESR0 00000000
SH_IPR0 00000000
SH_ICR0 00000000
SH_IEVAL0 00000000
有人能告诉我哪里出错了吗?