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.

[参考译文] TMS320F2.8384万S:C28x和CM4的原子操作

Guru**** 2394295 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1088500/tms320f28384s-atomic-operations-of-c28x-and-cm4

部件号:TMS320F2.8384万S

您好,champ,

我的客户想知道C28x和CM4是否支持以下数据访问的原子操作,

  • 读/写字节数据(8位)
  • 读/写字数据(16位)
  • 读/写长数据(32位)
  • 读/写长数据(64位)

请提出您的意见,感谢您的帮助。

此致,

卢克

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

    您好,Luke,

    您说读/写时,是指读后写(相同数据的RMW)吗?

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

    您好,

    原子操作意味着读取,修改和写入特定数据。 我们以下面的C陈述为例,

    VAR++;
    var = var + 20;

    如果var是一个8位,16位,32位或64位变量,C28x和Cm4是否支持原子操作?

    此致,

    卢克

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

    Luke对于C28x,从CPU角度来看,只有某些指令是原子指令,而不是从系统角度来看。

    例如,如果您使用内在__inc (https://www.ti.com/lit/ug/spru514x/spru514x.pdf),则该操作可以是CPU支架点的原子操作。

    但是,如果您有多主系统,DMA或另一个CPU可以访问相同的内存位置,则它不再是原子系统。

    它应该与读修改写入的CM4类似,我们可能没有任何防护/保护措施来防止破坏。 希望这一点很清楚。