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.

[参考译文] MSPM0G1506:带有 MSPM0G1506 的 ADS131M08 EVM 连接并加载良好、但无法自动运行到 main 并达到异常、从而卡在 handler () 中

Guru**** 2885180 points

Other Parts Discussed in Thread: ADS131M08, MSPM0G1506, ADS131M08MET-EVM, LP-XDS110, LP-MSPM0G3507, MSPM0G3507

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1639023/mspm0g1506-ads131m08-evm-w-mspm0g1506-connects-and-loads-fine-but-it-fails-to-auto-run-to-main-and-hit-an-exception-and-gets-stuck-in-handler

器件型号: MSPM0G1506
Thread 中讨论的其他器件: ADS131M08ADS131M08MET-EVMLP-MSPM0G3507、 MSPM0G3507

团队、

我们的客户尝试按照此处的用户指南操作包含 MSPM0G1506 MCU 的 ADS131M08 EVM:

ADS131M08MET-EVM 评估板|德州仪器 TI.com

但是、相同的问题不断增加其 head(在调用 NVIC_EnableIRQ 后登录到默认处理程序,这似乎仍然是同一个问题)。 客户尝试了一个只使用 while 循环的空工程 (empty_mspm0g1506)、该示例似乎没有任何问题、但很难判断、因为它当然是空的。  如今、他们收到了类似的 G3507 LaunchPad、并能够使用 XDS110 和 Segger J-Link Ultra+调试器执行开箱即用的项目。  因此、这不是最终出现的硬件或设置问题。

客户询问过是否有人 能够在连接到 ADS131M08MET 评估板的 LaunchPad 上获得 XDS110 探针、并成功进行实时调试。 除了上面链接的用户指南之外、似乎没有太多与 ADS131M08MET 上填充的内容完全匹配的文档。

最后、我们想知道现有计量库(如用户指南中所述)是否存在细微差别、这会导致问题、我只需将其描述为“它看起来连接良好、加载良好、但它无法自动运行到 main、并在过程中遇到异常、卡在处理程序中。“

这是否是当前 MSPM0G 计量工程的已知勘误表、如上面的用户指南链接所述?

CY、

Chris  

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

    您好!

    谢谢 Chris。 我想添加的一点是 Eval 套件会自动运行到 main、此时似乎 NVIC_EnableIRQ 函数在初始化序列期间调用会导致它卡在 Default_Handler 永恒 while 循环中。

    我们也很想知道为什么一些正在启用的中断似乎没有在 irq_handler.c 中为它们创建中断处理程序、其方式与 DMA_IRQHandler() 的提供方式相同。

    额外参考、此处相关的 SDK 示例工程是“THREE_PHASE_ADS131M08MET_EVM_SW“、具体而言是针对 MSPM0G1506 MCU 的示例。

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

    更新 1:

    我对项目做了两个更改。 使用连接到 ADS131M08MET 评估板的板载 LP-XDS110 探针的 LP-MSPM0G3507。 我现在可以看到工程成功运行、并且计量计算似乎完全正常运行。

    1) 函数调用 DL_SPI_enableDMATransmitEvent (GEN_SPI_0_INST);在 main 内是不必要的、这已在 SYSCFG_DL_init();? 我把这个评论说出来。

    2) 我去了、并为 SPI 添加了一个中断处理程序。 这是我认为我的项目正在运行的主要变化。

    这是一个巨大的进步;然而、即使有了这些变化。 我的 SEGGER JLink Ultra+在运行此项目时仍有问题。 连接 Jlink 后、我的调试会话正在运行到 main、但仍然卡在 Default_Handler () 中。

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

    尊敬的 Blake:

    首先、感谢您完成此工作、并达到您现在所处的位置。  做得好!

    巧合的是,我坐在这里(在培训中)与我们上周接到电话的 Luke 的 Morgan 合作,为了让我们尝试确定这是否是 Segger JLink Ultra+问题,或者它是否仍然是潜在的 Metrology 项目本身,你能截屏在 CCS 中看到的确切的错误消息,当你被困在 detult_Handler ()....

    此外、如果您只需尝试使用 XDS 110 进行相同的练习、这将是一个很好的数据点、可以向我们指明正确的方向。

    谢谢您、

    Chris & Morgan  

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

    Chris 和 Morgan

    我认为我不再属于 default_handler (),因为我添加了新的 SPI IRQ 处理程序。 但是、这是我在使用 JLink 运行调试会话时经常遇到的主要问题。 至于 XDS110、我现在没有任何要比较的地方、因为它似乎可以正常工作。  

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

    + Brian(来自 TI)

    感谢 Blake、一方面很高兴听到 XDS 110 至少能按预期工作。  您现在是否能简单地使用该界面至少验证概念工作?  同时、我们将继续研究 Segger JLink Ultra+(Brian 在该工具方面有更多经验)、并仍想知道 Segger 是否已回复您上周最初的支持请求?

    CY、
    Chris  

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

    您好!

    是的、我们将继续查看示例工程。 我们还将提供定制板来测试我们的应用、这款板很快就会推出。 如您所知、SEGGER 的回复已单独转发。

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

    Blake、

    根据离线电子邮件、我们应用团队的 Brian 已成功将 Ultra+与 MSPM0G 配合使用、如所述“使用我们手头的 J-Link Ultra+、我能够成功刷写与 MSPM0G1506 属于同一系列的 MSPM0G3507 器件。 从 SEGGER 的网站上、这些机制的产品支持是相同的、因此我认为在 MSPM0G1506 中使用 J-Link Ultra+不会出现任何问题。 刷写器件时、我使用了 CCS 中的 SEGGER J-Link 仿真器、LP 仍需要外部电源(这些器件在 3.3V 电压下运行、但 J-Link 只能提供 5V 电压)。“

    这是一个很好的数据点、表明这可能毕竟都能很好地协同工作。 当然、您对自己在 e2e 主题或电子邮件跟踪上的反馈感兴趣。

    CY、
    Chris  

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

    您好、Chris、

     

    只是一些额外的更新、我们今天的分析更深入一些、并监控进出 MSPM0 和 ADS131 芯片的 SPI 数据。 使用 XDS110 进行调试时、我们可以获得正常运行的调试会话。 查看 SPI SDO 和 SDI 线路时、我们可以看到正在发送和返回的命令。 例如、ADS 解锁命令由 ADS 在以下时钟信号上发送和返回。 此命令为 0x0655 以解锁。 在下面的捕获中、您可以看到通道 0 (MSPM0) 发送命令、命令由通道 1 上的 ADS131 返回:

    这是两个芯片之间通信的起点。

    此外、如果我现在连接 JLINK Ultra+并刷写程序->手动重置评估板、我也将得到一个正常运行的工程。

    我们的问题范围缩小到这样一个事实:如果我使用 JLINK Ultra+运行调试会话、中断就无法正常工作。 在下面的屏幕截图中、您可以看到 MSPM0 发送了解锁命令;但是、由于从未设置 DMA“完成“中断标志、程序会卡在如前所述的 while 循环中、这意味着程序永远不会继续。 仅当 MSPM0 开启时钟时、ADS 芯片也可以回复。

    我们认为 JLINK 仿真器的调试配置有误、或者仅与 JLINK 调试会话存在竞态条件。

    这是我的调试配置:

    请告诉我您的想法。 谢谢你。

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

    尊敬的 Blake:

    感谢您为我们综合介绍这一点。

    我已经与 Luke(计量项目)和 Brian(J-Link 调试)沟通过、希望根据他们自己对本练习两个方面的体验、对该主题进行一次或两次评论。

    敬请期待更多信息。  我希望我们的团队能够在短时间内(24-48 小时左右)为您提供反馈。

    此致、
    Chris  

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

    尊敬的团队:
    我将结束主题。 使用的调试器似乎导致某种类型的中断无法按预期触发。

    此致、

    Diego Abad

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

    您可以在这个时候关闭它、Diego、谢谢。  有更多的离线电子邮件交换 — 这在技术上仍然是一个开放的询问-但是的,为了这个讨论的目的,请随时关闭它。

    CY、
    Chris  

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

    嗯,看,我们正在正式关闭这个甚至离线!

    从客户端/Blake “

    我更改了调试设置和.projectspec 文件、我们正常工作、非常感谢 Chris 和其他参与解决此问题的人员。“

    感谢大家对这款产品的支持!


    谢谢、
    Chris