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.

[参考译文] TMS320F28379D:引导 ROM 和看门狗

Guru**** 2406250 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1542200/tms320f28379d-boot-rom-and-watchdog

部件号:TMS320F28379D
主题:SysConfig 中讨论的其他器件

工具/软件:

您好:

本论坛的一位专家帮助我创建了看门狗。 管理 RAM 配置时仍有问题(闪存正常)

根据 TI 示例、我加入了这个简单工程的存档文件。 如果有人可以看看它,我会感激.

下面我的问题:

我为 CPU1 配置了一个看门狗:它会生成中断、并在其 ISR 中请求复位。 此 CPU 的主 while 循环仅执行 simpel 任务(LED 闪烁和标量乘积)、并调用“冻结“函数。 如果设置了全局变量 uint16_freeze、此函数使程序进入无限循环。

我要进行测试:

1) 打开调试会话

2) 我为每个项目选择正确的 EMU 模式:

3) 我启动了这两个项目

3 — 我强制程序的冻结

=> CPU1 由于错误而停止:

有人能告诉我我出了什么问题吗?

谢谢你

e2e.ti.com/.../0184.2025_5F00_07_5F00_04_5F00_TISupport.zip

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

    您好:

    为了进行澄清、您正在尝试配置仿真引导模式以测试引导流程、对吗?  

    请参考此应用手册、其中还介绍了仿真引导模式配置的过程: https://www.ti.com/lit/ug/sprujh3/sprujh3.pdf 、以 验证您的过程并查看 它是否 有助于解决您的问题。

    此致、

    Allison

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

    您好 Allison。

    我知道这些信息。 我的问题不是让我的程序在我启动调试会话或在独立模式下使用微控制器时工作、而是检查看门狗是否在 RAM 配置的调试会话中工作(因此,在第二次重置中)

    你能看看这个问题吗?

     TMS320F28379D:看门狗管理 

    您的一位同事帮助我 进行了闪存配置。 他要求我为 RAM 配置打开一个新线程。 因此、引导 ROM 专家可为我提供帮助。

    请尽快发言

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

    您好 Vincent、

    您能否请检查 RESC 寄存器以确认复位原因? 具体来说、查看 WDRSn 位、以查看看门狗是否触发了复位。

    看门狗复位会清除该器件的 RAM — 这是预期的结果吗? 您能否说明您的预期结果? 您的引导引脚设置为什么?

    此致、

    Allison

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

    您好 Allison。

    如果您有 LaunchPad、也许可以检查它。 但下面我尽量回答。

    具体而言、查看 WDRSn 位以查看看门狗是否触发了复位。

    我要求 CPU1 重置如下操作: sysctl_resetDevice ();

    此命令应同时复位 CPU1 和 CPU2。 通过查看寄存器、我可以看到、当调试会话停止时:  

    您的启动引脚设置为什么?

    对于闪存配置、由于 Zx_BOOT_CTRL 寄存器中不写入任何内容、因此默认引脚 72 和 84 会控制引导。

    对于 RAM 配置、它由 EMU_BOOT_CTRL 控制、在 PIE 区域中如此。 执行脚本时、在复位前在 0x0D00 处写入 0x0A5A。

    您说 RAM 被擦除、但冻结后、我仍然可以在 RAM 中读取此值:  

    你能做测试在你身边吗?

    谢谢你

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

    尊敬的 Vincent:

    您是正确的 — 抱歉,我误读了看门狗复位不会清除/初始化 RAM 内容、因为它在此器件上被视为热复位。  

    我看到有 EMU 密钥。 为了进行澄清、您能否确认寄存器是否都使用了两个 CPU 的正确 EMU 引导模式进行编程? 什么是 Emy_BMODE?

    此致、

    Allison

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

    您好 Allison、

    要澄清、您能否确认两个 CPU 是否都使用正确的 EMU 引导模式对寄存器进行了编程?

    是的、我确认:

    您的 Emy_bmode 是什么?

    如您所见、0x0A(在 0x0000、RAM 处引导)

    请您能运行我发送的存档吗? 我真的不认为这条消息涉及 Bootrom 流:

    在 C:\Users\v.liebart\C2000_projects\generic\tmp_2CoresWatchDog\led_ex2_sysconfig_cpu1\RAM\led_ex2_sysconfig_cpu1.out:{3}0x3fe493{4}“处、“CMD_init () 没有可用的源  

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

    您好:

    *更正*

    根据 F2837xD TRM

     器件引导 ROM 在 WDRSn 上清除所有 RAM。 我已使用您提供的应用程序存档确认了这种情况。  

    C:\users\v.liebart\c2000_projects\generic\tmp_2CoresWatchDog\led_ex2_sysconfig_cpu1\RAM\led_ex2_sysconfig_cpu1.out:{3}0x3fe493{4}“
     

    地址 0x3FE493 是 ITRAP ISR 位于引导 ROM 中的位置。  由于应用程序的代码启动在 WD 复位时在 0x0 (M0 RAM) 处清除、因此当器件在 RAM 引导中分支到 0x0 且 该地址未提供指令时、会命中 ITRAP。

    此致、

    马特

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

    您好 Matt、

    非常感谢您的解释。

    对我来说很清楚。