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.

[参考译文] MSP430F5438:CAN#39;t 单步目标程序:不能单步器件

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device

器件型号:MSP430F5438
主题中讨论的其他器件: MSP-FETMSP430G2553

大家好、

我将定制板与 MSP430F5438搭配使用、并将 MSP-FET 调试器与最新的 CCS 编译器搭配使用。

我能够使用 MSP-FET 将程序刷写到 MSP430F5438、并且无法进入调试模式。  

当我尝试进入调试模式时、我收到一个错误、即"Can't single step target program:Could not single step device"。

我尝试了以下选项、但仍然得到相同的错误。

根据 https://www.ti.com/lit/ug/slau278ah/slau278ah.pdf 上的图2.1和2.3、我尝试了不同的 e2e 帖子

我还尝试了 JTAG 电缆长度小于20cm 的情况、即使这样也会出现相同的错误。

请帮助我解决此问题。

谢谢

Prabhu  

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

    Prabhu、您好!

    您是否检查了勘误表? 在调试模式下、有几个与单步执行代码相关的勘误表。

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

    尊敬的 James:  

    我检查了勘误表、找不到任何有关上述问题的线索。 请帮助。

    谢谢、

    Prabhu K

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

    在勘误表中搜索"单步执行"。

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

    下拉电阻器的最佳值应该被连接在 MSP430F5438的 TEST 引脚上。 (请参阅  https://www.ti.com/lit/ug/slau278ah/slau278ah.pdf 的图2.1。)

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

    您是否阅读了图2-1下面的注释 F? 它提供了一系列您可以从中选择的值。

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

    是的、我添加了750欧姆、并且能够进入调试模式、并且无法调试整个编码。

    #include


    //#include "io430.h"

    int main( void )

    WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
    volatile unsigned int i;// volatile 以阻止优化
    P6DIR = 0x20;//建立端口6输出端口
    while (1)
    //for (;;)

    P6OUT ^= 0x20;//切换 P6.5和 P6.6

    for (i=10000;i>0;i--)//延迟


    调试时观察到以下情况。

    1.它没有进入 while 循环、并弹出 "Can't single step target program:Could not single step device"。

    2.当 while 循环被注释并为循环使用无穷大时,它会向下弹出 循环[ for (i=10000; i>0; i--)// delay]内部的错误,并弹出错误 “不能单步执行目标程序:不能单步执行设备”。

    请告诉我我缺少什么。

    注意:只有在连接下拉电阻后、我才能够进入调试模式。 因此、请就下拉电阻器的最佳值征求您的意见。  

    谢谢  

    Prabhu K.

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

    抱歉键入错误:在循环的内部末尾有一个分号。 for (i=10000; i>0; i--);// delay  

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

    James、您好、我的查询是否有任何更新。

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

    如果您必须添加一个下拉电阻器进行测试、那么我认为这清楚地表明您的定制电路板上存在过多的噪声。 这可能会影响调试会话。 尽管您说这对解决您的问题没有帮助、但我强烈建议使用非常短的连接(< 20厘米)。 请记住、长度假定您的定制电路板上没有长迹线。

    我会将您的 JTAG 电路与《MSP430硬件工具用户指南》中的图2-1进行比较。 我怀疑您需要降低 C1的值。 尝试将其降低至1nF。

    除此之外、我不知道还有什么要推荐的。 我假设如果我使用 MSP-FET 并尝试在 MSP430F5438的目标板上调试您的代码、我可能不会看到这个问题。 因此、我怀疑您的问题是噪声/硬件问题。

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

    您好、James、感谢您提供的信息。

    我想向大家介绍一些有关 Spi-bi-wire 编程的附加信息。

    当我尝试使用 Spi-bi-wire 时、我收到以下错误。

    请求您对上述错误代码的输入。

    注意:我没有尝试减小1nF 的电容。 将尝试更新结果。  

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

    感谢您的更新。 我希望减小电容有助于解决该问题。 您还可以尝试通过创建新的 CCS 工作区来删除调试配置、从 CCS 内的 TI Resource Explorer 导入 F5438代码示例、并尝试在器件上下载/调试代码。

    此外、让我指出、不建议在新设计中使用 F5438器件。 请考虑在您的最终设计中使用 F5438A。

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

    大家好、James、感谢您的参与。 我将电缆长度减小到了5cm 以下、并在定制板中将电容值更改为1nF。 仍然面临同样的问题。

    请注意、我们的定制电路板设计基于以下链接。

    https://www.ti.com/lit/ug/slau263i/slau263i.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&ts=1628069942276&ref_url=https%253A%252F%252Fwww.mouser.in%252F  

    我可以在 TEST 引脚上的上面的链接中看到没有下拉电阻器(第24页),但是  在 MSP430硬件工具用户指南(修订版 AH)(TI.com)的图2-1中 ,我可以看到下拉电阻器。

    请帮助我了解并解决此问题。

    谢谢、

    Prabhu K.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3787008 #3787008"] James、您好、感谢您的输入。 我将电缆长度减小到了5cm 以下、并在定制板中将电容值更改为1nF。 仍面临相同的问题。

    我很高兴听到您进行了这些更改、即使它们没有解决问题。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3787008 #3787008"]我可以在上面的 TEST 引脚链接中看到没有下拉电阻器(第24页),但在  MSP430硬件工具用户指南(修订版 AH)(TI.com)的图2-1 中,我可以看到下拉电阻器。

    TEST 上的下拉电阻器是可选的。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3787008 #3787008"]请帮助我了解并解决此问题。

    您的编译器优化设置是否处于最低设置?

     再次查看 MSP-EXP430F5438的原理图和数据表、了解您是否缺少任何其他重要连接或使用了错误的电容器值。 VCORE 等连接非常重要。

    这是否在多个器件上发生?

    您是否超出了 MSP-FET 的最大电流电源?

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3783856 #3783856"]当我尝试使用 Spy-bi-wire 时,遇到以下错误。

    为什么您不尝试使用4线制 JTAG?

    我不确定此时还需要推荐什么。 如果可能、请分享您的 MSP430部分原理图。

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

    James、您好吗?请分享 F5438控制器的时序图。 这将帮助我识别我的定制板有什么问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3790052 #3790052"]您是否可以共享 F5438控制器的时序图。

    我不确定你的意思。 您对我的最新问题是否有任何反馈? 你去过它们了吗?

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

    尊敬的 James:

    您的编译器优化设置是否处于最低设置? 不确定最低设置意味着什么。 请帮助我检查此设置。

     再次查看 MSP-EXP430F5438的原理图和数据表、了解您是否缺少任何其他重要连接或使用了错误的电容器值。 VCORE 等连接非常重要。 -在比较评估板原理图和定制板原理图时、我找不到任何区别。

    这是否在多个器件上发生? 我只尝试了一个板。 我还有一个 PCBA、我可以检查它。

    您是否超出了 MSP-FET 的最大电流电源? 实际上、它是一个传统的 PCBA、在其运行期间、其电流不会超过30mA。

    为什么您不尝试使用4线制 JTAG? 我一直用4线制 JTAG 对其进行测试。 刚刚检查了它在 Spi-bi-wire 中的工作情况。

    我使用 MSP-FET 对 MSP430G2553进行了编程、并且能够在我探测复位、TDI、TDO、TMS、TCK、 测试 引脚、并使用我的定制 PCBA 与波形进行比较。 我看到波形有差异。 因此、您需要使用 MSP430F5438 JTAG 信号波形与我的定制电路板波形进行比较和检查。

    注意:此处不允许我分享原理图和波形。

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

    James、您好、其他信息。

    请从调试窗口中查看下图。 请检查是否可以从下图推断出某些内容。

    构建完成后不久、控制器开始执行编码。 它不会进入调试模式。 激活步入按钮后、会出现以下错误。

    请注意、我现在拥有的定制电路板是从生产阶段开始的、它具有已加载的应用软件。 在我们购买 MSP-FET 之前、尝试通过 UART 读取一些值。 现在、我怀疑在通过 UART 读取时、是否会意外修改 BSL 并可能锁定 JTAG? (https://www.ti.com/lit/ug/slau319ae/slau319ae.pdf?ts=1628502999808 第41页)

    如果您怀疑 JTAG 可能被锁定、请帮助我完成解锁过程。

    谢谢、此致、

    Prabhu K.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3790404 #3790404">您的编译器优化设置是否处于最低设置? 不确定最低设置意味着什么。 请帮助我检查此设置。[/quot]

    在 CCS 中、您可以通过右键单击 CCS 工程、然后单击 Properties > CCS Build > MSP430 Compiler > Optimization 来更改优化设置。 对于调试、我建议使用优化级别0 (寄存器优化)和设置1来权衡速度与尺寸。 确保点击"Apply and Close"、然后重新构建项目。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3790404 #3790404"> 再次查看 MSP-EXP430F5438的原理图和数据表、查看您是否缺少任何其他重要连接或使用了错误的电容值。 VCORE 等连接非常重要。 -在比较评估板原理图和定制板原理图时、我找不到任何区别。

    听得好。 感谢您的检查。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3790404 #3790404"]

    这是否在多个器件上发生? 我只尝试了一个板。 我还有一个 PCBA、我可以检查它。

    [/报价]

    最好在多个 F5438器件/电路板上进行检查。 当您对 G2553进行编程时、可证明您的工具链和 MSP-FET 工作正常。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3790404 #3790404"]您是否超出了 MSP-FET 的最大电流电源? 实际上、它是一个传统的 PCBA、在其运行期间、其电流不会超过30mA。

    这也是确认的好方法。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3790404 #3790404">您为什么不尝试使用4线制 JTAG? 我一直用4线制 JTAG 对其进行测试。 刚刚检查了它在 Spy-bi-wire 中的工作情况。

    好的。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3790404 #3790404"]I 使用 MSP-FET 对 MSP430G2553进行了编程、并且能够在探测复位的平均时间内进行调试、即 TDI、TDO、TMS、TCK、 测试 引脚、并使用我的定制 PCBA 与波形进行比较。 我看到波形有差异。 因此、您需要使用 MSP430F5438 JTAG 信号波形与我的定制电路板波形进行比较和检查。

    如果所有连接都正确、通常不需要捕获这些波形。 遗憾的是、我目前无法访问该器件。 相反、我建议使用新的 F5438器件、以确保原始器件未损坏。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3790404 #3790404"]注意:此处不允许我共享原理图和波形。

    没问题。 这是一个公共论坛。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3791393 #3791393"]构建完成后、控制器立即开始执行编码。 它不会进入调试模式。 激活步入按钮后、会出现以下错误。

    这听起来像是调试会话在 CCS 中启动正常。 我会考虑该调试模式。 确保优化设置为低。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3791393 #3791393">请注意,我现在拥有的定制电路板已投入生产,并且已加载应用软件。 在我们购买 MSP-FET 之前、尝试通过 UART 读取一些值。 现在、我怀疑在通过 UART 读取时、是否会意外修改 BSL 并可能锁定 JTAG? (https://www.ti.com/lit/ug/slau319ae/slau319ae.pdf?ts=1628502999808 第41页)[/quot]

    这很有意思。  如表5-9的"显著信息"部分所示、BSL 不可重复编程。 此外、JTAG 只能被锁定和解锁一次。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3791393 #3791393"]如果您怀疑 JTAG 可能被锁定,请帮助我完成解锁过程。

    如果您可以在 CCS 中将代码下载到器件上并在调试会话中运行到 main(),则 JTAG 接口不会被锁定。

    如前所述、请尝试使用新的 F5438器件来查看问题是否已解决。

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

    尊敬的 James:

    感谢您的回复。

    我尝试在 G2553评估套件中重现相同的错误、并通过更改处理器选项成功地重现错误。  

    请参阅以下图片、了解对处理器选项所做的更改、以重现错误。  

    注意:我通过比较 MSP430F5438处理器选项的默认设置来进行此设置。

    在 MSP430F5438中、我检查了优化级别是否为0、速度与尺寸之间的折衷是否为1。 -use_hw_mpy 设置为 F5。

    如果您提供一些与器件版本 MSP 与 mspx 相关的信息、我会非常有帮助。 对于 MSP430F5438、应该是芯片版本。

    请确认 MSP430F5438的处理器选项设置以及 优化 设置中-use_hw_mpy 应设置的选项 。 根据您的输入、我将检查使用同一控制器进行调试、然后尝试使用新控制器。

    注2:在 G2553评估套件中、当 -use_hw_mpy 设置为16且无时、我可以看到性能差异。 在 MSP430F5438控制器的-use_hw_mpy 上请求输入。

    还可以在 PC 上请求您的输入、当控制 器进入 MSP430F5438的调试模式时、它最初在哪个地址启动。

    提前感谢。

    谢谢、此致、

    Prabhu K.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3794855 #3794855"]我尝试使用 G2553评估套件重现相同的错误、并通过更改处理器选项成功复制了该错误。  [/报价]

    这很奇怪。 我们绝对不建议使用与实际器件不同的微控制器选项、仅存储器大小不同的同一系列器件除外。

    这是否表明您的器件与 MSP430F5438不同? 它实际上是 MSP430F5438A 吗? 通常、CCS 将显示警告、指示所选器件与目标器件不匹配。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3794855 #3794855">如果您提供一些与器件版本 MSP 与 mspx 相关的信息、将会非常有帮助。 对于 MSP430F5438、应该是芯片版本。

    CPUx 内核支持20位寻址。 器件专用用户指南应提供更多详细信息。

    [引用 userid="491819" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1021782/msp430f5438-can-t-single-step-target-program-could-not-single-step-device/3794855 #3794855"]

    请确认 MSP430F5438的处理器选项设置以及 优化 设置中-use_hw_mpy 应设置的选项 。 根据您的输入、我将检查使用同一控制器进行调试、然后尝试使用新控制器。

    注2:在 G2553评估套件中、当 -use_hw_mpy 设置为16且无时、我可以看到性能差异。 在 MSP430F5438控制器的-use_hw_mpy 上请求输入。

    [/报价]

    这两种设置都适用于 MSP430F5438。 它具有硬件乘法器、而 MSP430G2553没有硬件乘法器。 您可以参阅 《MSP430优化 C/C++编译器用户指南》、了解有关编译器设置的更多信息。

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

    尊敬的 James:  

    感谢您的回复。

    我只是想说、如果我们使用错误的设置、则会导致错误。 因此、我怀疑我的编译器中的 MSP430F5438设置有误。  您能否共享 MSP430F5438的首选设置。

    我的定制板仅具有 MSP430F5438。

     在处理器选项(芯片版本)中混淆了 MSP430F5438应该使用哪一个。 它应该是 MSP 还是 mspx?

    您在 PC (程序计数器)上是否有任何 MSP430F5438的起始地址输入?

    请帮助我设置 MSP430F5438的首选设置。

    谢谢

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

    我不建议对编译器设置进行大量更改。 您可以在 CCS 中为器件创建一个新工作区和/或一个新项目。 默认设置应为"正常"。

    我建议您通读我在上一篇帖子中与您共享的资源。

    您是否更换过设备?