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.

[参考译文] TMS570LC4357:从中断写入共享 RAM

Guru**** 2448780 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1225906/tms570lc4357-writing-into-shared-ram-from-interrupt

器件型号:TMS570LC4357

您好!

如问题(https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1209144/tms570lc4357-transferring-data-from-shared-ram-to-emif-via-dma)中所述 、我将尝试通过 DMA 将一些数据从共享 RAM 传输到 EMIF。 我使用免费的 RTOS、并且已通过创建更新缓冲区的任务来设法传输数据。 现在、我需要在收到中断后立即更新共享 RAM 中的数据。 当我尝试通过中断例程修改此类数据(16位)时、我发现了意外的行为、有时我会写入所需的数据、有时我没有、并且得到与预期完全不同的值。 如果我使用任务直接修改相同的数据、则数据被正确写入。 但是、我需要在中断指示后立即更改此数据。

您或许能告诉我如何解决这个问题。

提前感谢、

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

    您好、Georg:

    我们已着手解决您的问题、并将很快提供更新。

    --

    谢谢。此致、
    Jagadish。

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

    您好、Georg:

    有些困惑、我希望澄清以下内容、

    1. DMA 仅读取共享 RAM 的权限? 不会写任何内容?

    2.将数据写入共享 RAM 的唯一位置是仅中断、正确吗? 你是否在从中断例程中执行任务的同时注释和测试了写操作?

    3、您打算如何保持 DMA 存取和 CPU 存取之间的同步? 我的意思是不应该同时访问共享存储器、这会导致条件争先恐后、对吧?

    --

    谢谢。此致、
    Jagadish。