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/TMS320F28379D:在 CCS9版本中运行 TMS320F2837xD Workshop 实验5和6时出现问题

Guru**** 2553520 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/935507/ccs-tms320f28379d-problems-running-tms320f2837xd-workshop-labs-5-and-6-in-ccs9-version

器件型号:TMS320F28379D

工具/软件:Code Composer Studio

大家好、  

我正在进行 TMS320F2837xD 微控制器技术讲座、但我有 CCS  版本:9.3.0.00012。   我在调试期间遇到了实验6问题。 我按照指南操作、甚至复制了解决方案、因此我的示例禁用了 WD 以避免出现任何问题。

WdRegs.WDCR.ALL = 0x0068;

WdRegs.SCSR.ALL = 0x0000;

然而、我并不总是能够正确调试示例、 我在大多数情况下会得到错误"在地址"0x3fe4d3"处中断、没有可用的调试信息、或者程序代码之外。" 运行代码时的示例。  我已经尝试了脚本选项、其中包括 SARAM 中的仿真启动模式(我想如果禁用 WD 应该不需要该模式)和通过复位运行实时模式、但我在读取寄存器 PC 时遇到了问题:  

(错误-1142 @ 0x0)
器件阻止了调试访问、因为它当前正在执行不可调试的代码。 选择"粗鲁重试"以禁用礼貌模式并强制执行操作。
(仿真包9.2.0.00002)

是否有任何线索可以找到 CCS 版本或技术讲座中的某种勘误表`?

此致  

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

    您好!

    [报价用户="Green Power"]大多数情况下,我会得到错误"break at address "0x3fe4d3",没有可用的调试信息,或者程序代码之外的错误。"

    这不一定是一个错误、而是一条调试器消息、通知您目标在不是源代码相关性或调试信息的地址处停止。 这通常表示在运行应用程序时遇到了一些异常。

    [引用用户="绿色电源"](错误-1142 @ 0x0)
    器件阻止了调试访问、因为它当前正在执行不可调试的代码。 选择"粗鲁重试"以禁用礼貌模式并强制执行操作。
    (仿真包9.2.0.00002)[/QUERP]

    此错误记录在以下链接中:

    https://software-dl.ti.com/ccs/esd/documents/ccs_debugging_jtag_connectivity_issues.html#device-blocked

    这通常在目标处于不良状态时发生。 我将首先集中讨论例外情况(这可能导致第二个问题)。

    我不知道此次研讨会有什么问题、但我不是该研讨会或器件方面的专家。 我将此主题移至 C2000论坛、器件专家可以在其中提供更多见解。

    谢谢

    Ki

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

    加西亚

    如果您使用的是 LaunchPad 版本1.1、请告诉我。 还是2.0?  此外、请尝试使用 CCS 图标按钮而不是脚本运行实时仿真模式。  对于使用图标按钮:

    要启用并运行实时仿真模式,请单击“Enable Silicon Real-Time Mode”(启用芯片实时模式)工具栏按钮。 可能会打开一个窗口、如果出现提示、请在"Do you want to enable realtime mode?(是否要启用实时模式?)"中选择"Yes"(是) 问题。 这将强制状态寄存器 ST1中的调试启用屏蔽位(DBGM)为‘0’,这将允许内存和寄存器值传递给主机处理器进行更新(即启用调试事件)。 此后、Resume Suspend 用于运行和停止实时调试。

    请告诉我这是否可行。  但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。

    - Ken

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

    您好 Ken、  

    LaunchPad 版本为2.0。 我已经尝试使用 CCS 图标来使用实时仿真模式。 对话说:

    是否要启用实时模式?
    除非启用了调试事件、否则无法进入实时模式。
    ST1的位1必须为0。
    (仿真包9.2.0.00002)

    之后、如果我恢复代码、我会遇到以下错误:  

    读取寄存器 PC 时出现问题:
    (错误-1142 @ 0x0)
    器件阻止了调试访问、因为它当前正在执行不可调试的代码。 选择"粗鲁重试"以禁用礼貌模式并强制执行操作。
    (仿真包9.2.0.00002)

    这是因为 ST1不是真的为1吗?

    另一件奇怪的事情是、如果 WD 被禁用、为什么我不能在正常模式下运行? 当我在程序加载后只按 RESUME 按钮、然后终止时、我看不到 ADC 中断与示波器中的 GPIO18发生切换(实验6)。 程序似乎没有运行。  

    感谢您的帮助、  

    此致  

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

    加西亚

    工作区可能已损坏。  如果您仅将工作区用于工作区设置、请尝试删除工作区(即'workspace_v9')。  CCS 下次启动时将创建一个新的工作区。  下次启动 CCS 时、需要再次将目标配置设置为活动 状态(请参阅实验2、步骤5)。

    接下来、尝试导入 实验6的"解决方案"并运行代码(按照实验说明进行操作、除非需要编辑代码)。  请不要忘记 在程序使用脚本加载后配置引导模式。  我测试了代码、它在 CCSv9和 CCSv10上工作。  请告诉我发生了什么。

     但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。

    - Ken

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

    您好 Ken、  

    感谢你的帮助。 不幸的是、它不起作用。 我已经创建了一个新的工作区和一个新的目标配置、如实验2、步骤5中所述。 我导入了实验6、并且可以加载程序、选择 EMU 引导模式 EMU_BOOT_SARAM、然后当尝试脚本 Run_Realtime_With _Reset 时、我遇到此错误:

    C28xx_CPU1:读取寄存器 PC 时出现问题:(错误-1142 @ 0x0)器件阻止调试访问、因为它当前正在执行不可调试的代码。 选择"粗鲁重试"以禁用礼貌模式并强制执行操作。 (仿真包9.2.0.00002)。  

    我在第二个评估板(相同的 Launchap XL v2.0)上也尝试了相同的测试、第一次使用、然后我按下了"终止"按钮、 我再次尝试对其进行调试、程序已加载、我选择了 EMU 引导 SARAM 和 Run Realtime_With 重置、并且得到了与上述相同的错误。  

    我是否会以错误的方式终止调试会话并锁定一些评估板的方式? 如何解锁评估板?

    此致、再次感谢您的建议。  

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

    您好!  

    我正在尝试禁用实验6的 RealTime 调试、因此我仅通过  asm (" CLRC INTM、DBGM")更改了 asm (" CLRC INTM")。 我本来希望看到 ADC 中断正常工作、并且在示波器中 GPIO18发生切换、但当运行时、调试器显示"在地址"0x3fe4d3"处中断、没有可用的调试信息、或者在程序代码之外。"  

    我还注意 到在编译器版本时会出现一条警告、因为该实验是使用16.9.5.LTS 创建的、而我的 CCS 版本中当前未安装该实验、因此它使用的是 v18.12.4.LTS。 它是否与此相关?

    此致  

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

    加西亚

    我无法重现此问题。  我正在使用 CCSv10并加载实验6解决方案文件(无需更改编译器版本)。  它加载无问题、我设置了 EMU 密钥(SARAM)、并使用实时仿真脚本和实时 按钮多次运行代码。  我还使用"终止"按钮终止调试会话、并多次重新启动调试过程、没有任何问题。  正如 Ki 指出的、消息"break at address..."  不是错误、但 通知您没有可用的调试信息。  这是因为代码位于引导 ROM 中、并且符号尚未加载 (请参阅器件的存储器映射)。  此外、  在这种情况   下、LED 很可能仍在闪烁、以显示代码正在运行。  如果是这样、请告诉我。  如果出现错误、请尝试重新加载 程序(运行->加载->重新加载程序)、然后查看是否修复了该错误。  根据您描述的内容、您的问题特定于运行实时模式、但非实时模式(  即在禁用实时的情况下使用恢复和暂停)没有问题。  我将 要求 CCS 团队的某个人提供其他意见。

    - Ken

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

    您好 Ken、  

    n`t 器版本不受影响、我下载了用于创建实验的版本并添加了它、这并不重要、问题仍然存在。

    无论我是否使用仿真 SARAM/实时调试、即使在重新加载程序后、LED 也不会闪烁、在运行调试器后、都会显示错误

    读取寄存器 PC 时出现问题:
    (错误-1142 @ 0x0)
    器件阻止了调试访问、因为它当前正在执行不可调试的代码。 选择"粗鲁重试"以禁用礼貌模式并强制执行操作。
    (仿真包9.2.0.00002)

    它 ´到0x3FF16A、这是 CPU1的复位矢量、不是 t?。 它就像在复位 EMU 模式后无法将 PC 设置到正确的位置。  

    是否可以是我的 EMU 模式未正确编程 EMU 密钥? 是否有任何检查方法? 我第一次在新的评估板中调试和加载程序时也很奇怪、我可以看到示波器中的信号、LED 闪烁、甚至是实时调试(图形、在运行时更改变量...) 但是、在再次终止和调试/加载程序后、错误会出现、并且即使关闭评估板也会持续出现。

    问题可能与在 RAM 中加载程序(或从仿真 SARAM 进行调试)有关、当我尝试实验10 (闪存中的第一个加载段)并独立运行时、根本没有问题。  

    此致