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.

[参考译文] CCS/RM42L432:调试问题(关于中断和 self_test)

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/586778/ccs-rm42l432-debug-problem-about-interrupt-and-self_test

器件型号:RM42L432
主题中讨论的其他器件: HALCOGEN

工具/软件:Code Composer Studio

P/N: RM42L432。

IDE:CCS 5.5.0 (编译器版本:5.1.14)

    HALCoGen 04.05.01

调试工具:XDS100V2 USB 仿真器

  当我使用 CCS 调试时,我发现它无法工作并在 init_00停止,[我只想监视变量]。

原因是否如下图所述?(self _test prevent debug mode?)

2.我使用两种方法 进入调试模式

  2.1     A--将 JTAG 连接到 PCB 板

            b --暂停

            C--关闭电源   

            D-连接到目标

            F --我可以监控变量、

 2.2   选择调试模式--仅加载符号。

        我发现这种方法也可以 成功进入调试模式。

但是   最严重的问题是 "中断无法正常工作"  

    3.1 我使用 SPI、SCI、A/D、RTI、QEP。

              例如,在1ms 任务中,我将每 100ms 生成一个信号来驱动一个 LED。 但 LED 永远不会亮起。

  4、这是有关我的项目的基本信息。

         您能告诉我解决问题的方向吗?

          self_test 和调试模式之间是否有冲突?

   太多了!

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

    在启用 STC 的情况下、我怀疑发生的情况是、由于 CPU 复位、为监控中断执行而设置的任何监视变量或断点都将丢失。 STC 执行将在每个间隔完成后引起 CPU 复位。 由于调试信息存储在 CPU 内、因此每当发生 CPU 复位时、调试信息都会丢失。 这意味着、如果您有断点或在 CCS 中显示的监视变量、它们将不再在器件上处于活动状态。

    解决这个问题的一种方法是在启动 STC 执行之前将调试寄存器存储为一个运行环境保存(有关调试寄存器和其他 CPU 寄存器的更多信息、请参阅 ARM 网站上的 Cortex-R4 TRM)。 STC 完成后、您将需要通过将保存的上下文移回 CPU 寄存器来恢复调试寄存器的内容。

    执行上下文保存和恢复的任务实际上仅在2种情况下才会重新执行。 首先、如果您在实时应用程序期间运行 STC、而不仅仅是在启动时运行、则必须执行此操作、以便应用程序能够继续运行、并且不会丢失任何信息。 第二种情况是、如果您尝试按照所述进行调试、并且想要使用从启动时开始的断点、在启动期间运行 STC。 后一个原因只会影响调试、而是使用不必要的 RAM 资源和处理时间移植到您的应用中。 因此、TI 建议在调试期间禁用 STC 执行和/或在调试器外部执行引导时间分析。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    卡盘 Davenport

    感谢您的支持