Thread 中讨论的其他器件: CC3200
大家好、
以下是客户的请求:
使用 CC3235MODSF 进行开发时、SPI 采用主模式、数据宽度为两个字节、 TX 和 Rx 通道都连接到 DMA (双 DMA 通道)、在 tirtos 系统上运行 WiFi-AP 模式。 调用 sl_Recv 若要通过 DMA 接收主机数据 并 通过 SPI 进行传输、则 SPI DMA 接收到的数据将通过 SL_Send 发送到主机。
客户的问题是 、当他发送和接收的数据包很小、没有问题、整个过程很顺利。 当数据增加到一个数据包的1460字节(DMA 大小设置为1460字节)时、SPI 传输正常、但 SPI RX DMA 在 接收到一个1460的数据包然后调用 sl_Send 后卡住。 该程序一直在等待接收第二个1460的数据包。 SPI-RX-DMA 的第二个触发器没有响应、SPI 不工作。 测试完成后、只要不调用 sl_Send、SPI RX DMA 就可以顺利工作。 sl_Send 函数正在阻断和等待、 这意味着他在确保 sl_Send 已发送1460个字节后开始调用 SPI RX DMA、但结果仍然被卡住。
在使用 FreeRTOS 的 CC3200上、同样的代码没有问题。 如何处理?
您可以帮助检查此案例吗? 谢谢。
此致、
Nick