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.

[参考译文] TMS320F28377S:独立启动流程

Guru**** 2397685 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1175733/tms320f28377s-standalone-boot-flow

器件型号:TMS320F28377S

您好!

如上图所示、当 OTPkey 不等于0X5A 时、它引导至闪存、但为什么启用看门狗。

现在我遇到了一个问题、即程序将始终在 copy_decompress_ lzss 中运行。 C、无法输入主函数。 此问题是否与看门狗有关?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="545609" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1175733/tms320f28377s-standalone-boot-flow "]当 OTPkey 不等于0X5A 时,它将引导至闪存,但为什么启用看门狗。[/quot]

    出于安全考虑、在分支到闪存之前启用 WD。 如果不希望这样做、应用程序可以始终禁用 WD。

    [引用 userid="545609" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1175733/tms320f28377s-standalone-boot-flow "]此问题是否与看门狗有关?

    不太可能。  

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

    感谢您的回复:我发现当程序运行到0x850e2 (_TI_auto_init)时、它将返回到0x80000、而不是在我使用反汇编分步调试时调用 main 函数。 因此、我怀疑在初始化全局变量时触发 WD 导致的复位。 我在 CoderStartBranch.asm 中禁用了 WD、程序通常可以跳转到 main;、如下图所示(用这种方法关闭 WD 是正确的吗?)。 是否可以在引导期间更改 WD 的周期?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="545609" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1175733/tms320f28377s-standalone-boot-flow/4429077 #4429077"]如下图所示(用这种方式关闭 WD 是否正确?)。

    是的、这是一种可接受的禁用方法。

    [引用 userid="545609" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1175733/tms320f28377s-standalone-boot-flow/4429077 #4429077"]是否可以在启动期间更改 WD 的周期?

    可以通过写入 WDCR 寄存器来更改超时周期。