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.

[参考译文] TMS320F28377D:GSxMSEL 访问问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/686948/tms320f28377d-gsxmsel-access-issue

器件型号:TMS320F28377D

您好!

我在 CPU1上使用了一个变量(TestGs15)、并将其放置在 RAMGS15中。

在执行"MemCfgRegs.GSxMSEL.All=0;" 后,

如果 FLASH PREFTCH_EN 设置为0、则 TestGs15可以直接设置该值。

但是、当闪存 Prefet_EN 设置1时、

执行"MemCfgRegs.GSxMSEL.All=0;"后  

TestGs15应等待一个周期、然后设置该值。

是否有人可以解释 为什么修改 GSxMSEL 应该在 refetch 的 EN 设置1时等待一个周期?

在图片下方,等待一个循环,但不能设置值。

在图片下方, 无法 直接设置值。

此致、

Simen

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

    MemCfgRegs.GSxMSEL.all 的默认值仅为0x0、因此使用值0x0更新此值不会影响对 GSRAM15的访问。 由于您正在从闪存执行代码、更改 prefet_EN 值将对执行周期产生一些影响(基于代码对齐)、因此您可能会看到、变量在一个周期之后在单步执行代码时被设置。

    此致、

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


    1.如何知道 GSxMSEL 应延迟一个周期? 2个周期还是更多周期?
    2.您是否知道 GSxMSEL 等任何其他寄存器在执行后应该有延迟?
    谢谢、

    此致、
    Simen
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Simen、这个问题是否解决了?