我使用的是 Windows 7 x64、CCS 7.2.0.00013和 SYS/BIOS 6.50.1.12、XDCTools 3.50.0.10_core、EDMA LLD 2.12.0。 通过 XDS 调试探针连接到 TDA2xx 板。
在过去、我编写了一个简单的 memcpy 示例、该示例工作正常。 现在、我正在使用 EDMA 测试双缓冲、我有2个问题。
1) 1) EDMA3_DRV_requestChannel()调用出现问题,导致程序经常中止。 在测试中、我尝试请求两个通道、但即使第一个请求也失败。 这非常令人困惑、因为我有一个有效的 memcpy 测试、其中我只请求一个通道、并且它成功。 错误时刻的堆栈状态可在下面找到:
2) 2)有时我设法获取请求的通道时、在我的测试中、每个通道都有一个参数集、其中一个链接到另一个。 在两次传输之间、我只更改参数集中与 src 和 dst 地址相关的字段。 问题在于、如果不先删除该通道并再次请求、就无法在同一通道上开始后续传输。 如果我不这么做并再次开始传输、我的缓冲区会被打乱、执行会卡在 HWI_int0中。 我不知道为什么会发生这种情况。
提前感谢您。