Thread 中讨论的其他器件:OMAPL138
工具/软件:Linux
您好!
我尝试通过 DSP 使用 McASP、同时在 GPP 上运行 Linux。 我正在使用 PDK 中提供的 McASP 示例工程。 版本如下:
- MCSDK 1.01.00.02
- PDK OMAPL138 1.01.00.02
- BIOS 6.34.03.19
- Syslink 2.21.01.05
- XDC 工具3.24.03.33
当我不加载 Linux 时、我发现 DMA 参数配置正确、程序运行、按预期传输音频。 但是、当我在开始加载 DSP 之前加载 Linux 时、EDMA 参数集似乎未正确配置。 例如、由 McASP 使用的参数集0和1加载如下所示的值:
Linux 引导、DSP 加载/运行:
OPT0 0x00000000
SRC0 0x00000000
A_B_CNT0 0x00000000
DST0 0x00000000
SRC_DST_BIDX0 0x00000000
LINK_BCNTRLD0 0x0000FFFF
SRC_DST_CIDX0 0x00000000
CCNT0 0x00000000
OPT1 0x81001804
SRC1 0x00000000
A_B_CNT1 0x00010004
DST1 0x01D02000
SRC_DST_BIDX1 0x00000000
LINK_BCNTRLD1 0x00010000
SRC_DST_CIDX1 0x00000000
CCNT1 0x00000000
无 Linux、加载 GEL、唤醒 DSP、加载代码
OPT0 0x81100804
SRC0 0x01D02000
A_B_CNT0 0x00010004
DST0 0xC3001F1C
SRC_DST_BIDX0 0x10000000
LINK_BCNTRLD0 0x00014400
SRC_DST_CIDX0 0x00040000
CCNT0 0x000000F3
OPT1 0x81101804
SRC1 0xC3002224
A_B_CNT1 0x00010004
DST1 0x01D02000
SRC_DST_BIDX1 0x00001000
LINK_BCNTRLD1 0x00014440
SRC_DST_CIDX1 0x00000004
CCNT1 0x000002EF
第二组(正常工作)显示 DDR 存储器空间中的源地址和目标地址。
我有:
- 在 board-omapl138-lcdk.c (arm)中保留 EDMA 通道0、1
- 修改 SAMPLE_Omapl138_cfg.c (DSP)以显示 EMDMACC0影子区域1拥有 CHANNELS 0和 PARAMS 1。
- 禁用 ALSA (ARM)
- 在 Linux 内核(ARM)中取消注册 McASP
- 已确保 McASP PSC 处于活动状态
DSP 代码中的 EDMA LLD 实例似乎没有对 DMA 配置进行任何更改。 有什么想法、这可能是什么原因?
Jeff