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.

[参考译文] TMS320F28P659DK-Q1:确认 MCUCNF0 和 MCUCNF1 的复位值

Guru**** 2433180 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1534880/tms320f28p659dk-q1-confirmation-of-reset-values-for-mcucnf0-mcucnf1

器件型号:TMS320F28P659DK-Q1

工具/软件:

尊敬的专家:

我想确认 MCUCNF0 和 MCUCNF1 的复位 (INIT) 值。 根据我的观察、在启动之后以及写入这些寄存器之前、MCUCNF0 为 0x01、MCUCNF1 为 0x00。

我还有一个问题:如果我将 MCUCNF1 配置为 0x3C (CPU2 设置 D2 - D5)、MCUCNF0 是否会在看门狗复位后恢复为 0x01、MCUCNF1 是否会恢复为 0x00? TRM 提到复位值为“X",“,这、这会混淆我。

感谢您的支持。

此致、

CC Liu

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

    您好、CC、

    对于双核器件型号(例如 F28P65xDxx)、MCUCNF0 下电上电后的值将为“1",“,对于、对于单核器件型号(例如 F28P65xSxx)、则为“0"。“。  对于双核器件型号、可以将 MCUCNF0 清零;但是、对于单核器件型号、无法将 MCUCNF0 设置为“1"。“。  上电时、MCUCNF1 将默认值为“0",“,这、这意味着 D2 到 D5 存储器分配到 CPU1。  一旦应用程序对该寄存器进行编程以将其重新分配到 CPU2、例如通过向该位置写入 3C、即使在复位后、该值也会保持不变。  MCUCNF0 也是如此。  对于双核器件 F28P65xDxx 寄存器 MCUCNF0 被清除为“0"以“以模拟单核器件的情况、复位不会更改写入该寄存器的值。

    此致、

    Joseph

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

    您好、Joseph:

    感谢您的答复。

    我有一个后续问题:
    在任何系统初始化之前调用函数 sysctl_allocateDxRAM () 在 main () 的开头将所有 Dx RAM 重新分配给 CPU1 是安全的吗?

    我担心的是、我们的引导加载程序仅在 CPU1 上运行、而应用程序同时使用 CPU1 和 CPU2 (CPU1 应用程序将一些 Dx RAM 分配给 CPU2)。 当系统从应用程序复位回引导加载程序时(由看门狗复位触发)、之前分配给 CPU2 的 Dx RAM 可能保持不变、这可能会导致引导加载程序出现问题。

    谢谢、此致、

    CC Liu

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

    您好、CC、

    只要 WD 引起的复位会将所有 Dx RAM 重新分配给 CPU1、然后在稍后将一些 Dx RAM 分配给 CPU2、这个问题就应该正常。  您似乎需要遵循应用中的 Dx RAM 分配顺序。

    此致、

    Joseph