This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LS1114:使用调试器时具有 DMA 的 SPI 工作不正常

Guru**** 2392905 points
Other Parts Discussed in Thread: TMS570LS1114

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1087847/tms570ls1114-spi-with-dma-not-working-properly-when-using-debugger

部件号:TMS570LS1114

您好,

我正在使用 TMS570LS1114处理一个应用程序。 我使用 XDS110来刷新微控制器。


为了提高速度,我正在使用带有 DMA 的 SPI。
除非在 DMA 中断之外使用断点的调试器,否则我的代码似乎可以正常工作。

我可以告诉我的代码正在工作,因为 SPI 通信工作正常。
但是,由于我在主代码中断码,下一个 DMA 数据包将被发送为不完整的数据包。

您知道这种行为来自何处吗?

此致,

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Corentin,

    DMA 在挂起模式下支持四种不同的行为。 这些行为可以通过编程 GCTRL 寄存器的 DEBUGMODE 来配置:
    1.在 DMA 通道仲裁边界立即停止。  
    2.完成当前帧传输,并在挂起结束后继续。
    3.完成当前块传输,并在暂停结束后继续。
    4.忽略暂停。 调试模式处于活动状态时,DMA 将继续运行,如同在功能模式下一样。

    默认配置为#4