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.

[参考译文] MSPM0C1106:在 SysConfig 中配置 SysTick 后 MCU 将卡住

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

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1560859/mspm0c1106-mcu-will-get-stuck-after-configure-the-systick-in-sysconfig

器件型号:MSPM0C1106
主题:SysConfig 中讨论的其他器件

工具/软件:

您好专家  

客户反馈 MCU 将重新启动、并且无法正常使用他与我共享的 SysConfig 文件。

我使用一个非常简单的 main 函数尝试了该文件、并在 E2E 主题e2e.ti.com/.../4670.Main.ce2e.ti.com/.../3235_2D00_003_2D00_Charger.syscfg 中附加了 main 函数和 SysConfig 文件

有 2 个发现、

第一:如果我点击调试窗口中的 STEP INTO 并逐步运行程序、MCU 将正常工作、但如果我全速运行程序、程序将崩溃、并进入默认处理程序。

第二步:如果删除 SysConfig 文件中的 SysTick 配置、程序可以全速正常运行。

支持需求:

您能否请帮助您了解随附文件出现此问题的原因?

谢谢

Joe

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

     > DL_SYSCTL_enableSleepOnExit ();

    删除这一行。 在第一次中断后、main() 将永远不会再次运行。

    调试器会干扰(有效地阻止)睡眠模式、从而使测试用例类型正常工作。

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

    您好 Joe、
    如果 Bruce 的评论有所帮助、请告诉我。

    此致、

    Diego Abad

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

    嗨、 Diego 和  Bruce

    很抱歉我误点击了“Resolve(解决)“按钮

    是的、它可以正常工作、但如果我希望 MCU 在 STANDBY0 模式下工作该怎么办? 如果我不使用 SysTick 配置、为什么程序可以使用 DL_SYSCTL_enableSleepOnExit ()?

    调试器会干扰(有效地阻止)睡眠模式、因此测试用例类型的工作正常。

    如果是全速运行程序、则表示仿真器已连接、然后点击“Resume"以“以运行程序。 在这种情况下、程序将崩溃到默认处理程序中并卡在 while 循环中。

    我还注释掉_WFI () 函数、以防止 MCU 在调试期间进入低功耗模式。

    谢谢

    Joe

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

    请参阅随附的工程:e2e.ti.com/.../empty_5F00_LP_5F00_MSPM0C1106_5F00_nortos_5F00_ticlang.zip

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

    您可以使程序正常运行、只需删除 SysTick 配置、我使用该主题中分享的方法: MSPM0G3107:如何补充 Default_handler 的原因查找 MCU 卡在 系统中的问题 Tick_Handler:

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

    没有更多问题、我被认为 SysTick 只是时钟、但不知道需要处理程序来序列化 SysTick。

    谢谢

    Joe

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

    您可以取消选中“Enable SysTick Interrupt“复选框、将 SysTick 用作简单的计时器(24 位向下计数器)。