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/tm4c123gh下午6:使用 Segger J-Link 时不会触发中断

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/613661/ccs-tm4c123gh6pm-no-interrupts-fire-when-using-segger-j-link

器件型号:TM4C123GH6PM
主题中讨论的其他器件:SEGGEREK-LM3S811LM3S811

工具/软件:Code Composer Studio

在通过 Segger 的 J-Link 调试 TM4C 时、需要执行哪些操作来启用中断?

我的项目使用 Timer0中断。 如果我使用 Stellaris (板载)调试器进行调试(从 CCSv7.2开始)、则一切运行正常、并触发中断。 但是、使用 J-Link Segger 仿真器时、不会发生中断。

请注意,我已双击“禁用中断”,“运行时”取消选中(参见下图)。

感谢您的帮助!

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

    [引用 USER="Beat Arnet"]但是,使用 J-Link Segger 仿真器时,不会发生中断。

    我们公司采用多种此类"J-Links"、我们从未注意到"意外禁用中断!"    您可能会注意到、J-Link 和类似产品不是"仿真器"、它们会生成并处理"真正的 JTAG 协议"。

    为了从这样一个有效的 JTAG"探针"中获得最佳性能-很多器件采用一个"Pro IDE"(例如 Keil 或 IAR)。   怀疑"CCS"设置中的(某些内容)会影响操作。  同样、我们从未遇到过这样的"中断丢失"、也从未遇到过我们的多个客户。

    您如何确定 J-Link 是否"真正"附加到您的板上、以及是否(真正)发生了"代码更新"?    (建议您进行非常(轻微)的代码更改-下载然后下载到您的电路板-并监控是否检测到"更改"...    影响中断的到来似乎是 JTAG 探头的"章程"之外的。

    另一个建议是替换现有(中断拒绝)代码-并使用"已知良好"供应商示例项目-进行无/零更改。   中断的"返回"上放置了一堆高楼盘"芯片"-如果您遵循这个方向...

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

    如果我进行更改、重新编译和闪存、我可以确认代码已更新。

    如果我在主循环中设置断点(BKPT #0x00)、调试器将在这些位置停止。

    如果我在中断例程中设置断点(再次使用 BKPT #0x00)、则永远不会命中这些断点。

    使用 Stellaris 调试探针调试的相同代码可正确触发中断、并将命中所有断点。

    在未连接调试器的情况下自由运行的同一代码会正确触发中断。

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

    这都是很好的信息-谢谢。 假设(通过 MCU 器件型号) 您的是"LPAD"、而不是定制电路板、请确认。

    如果您的确实是 LPAD -您必须进行战略性实施以"击败"板载 ICDI"-从而正确启用您的外部 JTAG 探头。    此类资料尚未提供--请提供详细资料。   (显示 J-Link 与电路板之间任何/所有连接的原理图。)   再说一次-如果是"LPAD"-证明您"保持 ICDI MCU 处于复位状态"非常重要、这样 ICDI 就不会"插入信号"到"外部 JTAG 探针的连接中。"   进一步思考-如果您注意到的一切都正确-这可能会导致 MCU 复位操作错误-通过您的外部 JTAG 探头的"连接"操作。  (原理图解析了!)

    此外-使用"BKPT #0x00"不在我的(就绪)识别范围内。   众所周知、"太多"断点会阻止添加新断点-这可能是您的问题吗?   (请详细说明-或链接-针对我的"BKPT #0x00"官方描述-谢谢。)

    此外-人们会怀疑您是否正在输入中断-但您的"断点的使用"(以某种方式)会阻碍您的"使用"。   您是否可以"切换包含其中一个中断的 LED 指示灯"、以便在程序运行时、可以(以这种方式)确认是否有任何进入中断的行为?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、这是一个 Launchpad。 我按照以下说明进行连接:

    wiki.segger.com/TM4C123G_LaunchPad

    由于我可以加载、运行和调试(除了中断)、我将假定我的接线正确。

    但您关于"将 ICDI MCU 保持在复位状态"的评论很有趣。 Segger 的 Wiki 上没有提及这一点。 但我通过+USB_VBUS (器件 USB 连接器、而不是 ICDI USB 连接器)为 Launchpad 供电。

    我确实会使 LED 闪烁以确认计时器中断被调用。

    对于 BKPT #0x00语句、以下是参考:

    infocenter.arm.com/.../index.jsp

    感谢您的帮助!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢-谢谢。 您是否注意到在这些 Cortex M0 MCU 指令中出现"BKPT #0x00"? (此处未找到 M0级 Cortex 和(已离开) M3 -)

    7引脚 SIP 插头-位于 ICDI MCU 的中心和正下方-通过左侧的第5个引脚(Ext DBG)、您可以禁用 ICDI MCU -并且必须正确端接。

    Fi/I 已实现定制电缆-将"10引脚、小型 JTAG 接头"更换为"7引脚、包容式插座"-与 LPAD 接头配合使用。 (我相信我们的员工已经安装了插头)我现在已经开会了- LPAD 原理图应该会显示对"Ext DBG"的正确处理-以"关闭 ICDI 设备"。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    离开会议(当然、我的缺席将被记录下来...也许)-这里是 LPAD 原理图-(几乎)详细介绍了"EXTDBG"的处理方法(我代表您之前确定的第5个引脚)   我会阅读 LPAD 手册以查看是否描述了该引脚-如果没有-"/EXTDBG"(来自原理图)表示您必须将该引脚接地以启用外部调试。   (它显示-您尚未完成。)

    下面是原理图的相关部分:

    请注意、该 LPAD 似乎不会强制该 ICDI MCU 复位。   这种方法过去曾用于之前的供应商(LMI) EK-LM3S811电路板-该电路板"通过"JTAG 信号"传输到目标板-而"常驻"LM3S811 "在复位时被"扣为人质"。

    我们无法确定这种"EXTDBG"引脚管理会"解决您的问题"。   (然而-怀疑它会"伤害"。)

    我继续认为 CCS 中的(某些东西)对 J-Link "不接受/抵制"-这似乎是合理的。   我们公司绝不会使用"单一供应商受限器件或 IDE "、因为这样会限制并有效地"否认现实!"   ("同类产品中最佳"MCU/类似产品存在(近乎)连续跳跃机制、因此必须欢迎所有供应商的器件并使其"易用"。)

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

    您是正确的、但它未解决问题(尽管我确定设置是这样"干净"的)。

    我返回到 CCS 设置、尝试了一些操作、结果发现必须设置"在程序加载或重新启动时重置目标"(请参阅下图)。  看起来我的处理器在调试会话开始时未正确启动、因此未正确初始化! 不确定为什么此选项的默认值为"disabled"(已禁用)...

    现在、LED 会像 ICDI 一样闪烁。

    IDE 方面取得的进展。 非常感谢您的所有帮助!

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

    [引用 user="CB1_MOBILE"]我继续认为 CCS 中的(某些)对 J-Link 而言"不接受/不抵抗"-这似乎是合理的。

    我的朋友-我的帖子(上面引述的关键内容)没有正确检测并识别您可能的"非 J-Link 问题"?   (当然是这样!)

    您是否认为"此帖子也解决了我的问题-我(之前到达)非常详细的帖子-也是不公平/恰当的?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    )
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Merci mon AMI。 (我们组建了一支优秀的团队-接近"即时"的背景-关注点像"激光束"-问题得到解决!)
    如需"giggles"、请从 IAR 免费下载"ARM Kickstart"(32KB 大小限制)。 您不会返回到"有限/限制/较低"票价...