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.

[参考译文] MSP430G2553:长期 SBW、i2c 和其他问题

Guru**** 2536010 points
Other Parts Discussed in Thread: MSP430G2553, MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1043659/msp430g2553-long-term-sbw-i2c-and-other-issues

器件型号:MSP430G2553
主题中讨论的其他器件: MSP-FET

您好!

多年来、我们一直在多种不同的设计中使用 MSP430g2553器件、在这段时间内、我们看到了这些处理器的行为、我们无法理解或解释、更不用说修复了。

我们已经讨论过 FAE、有一次我们通过 FAE 来描述我们的问题、与 TI 进行了对话、但由于 TI 不知道这些问题、因此什么也没有。

因此、我们以各种方式解决了这些问题:

我们所面临的第一个主要问题是 MSP 长时间随机崩溃。 我们通过确保我们永远不会进入任何低于 LPM0的 LPM 模式来解决此问题、只要我们进入 LPM1或更高版本、我们就始终可以随着时间的推移而重复崩溃。

我们已交付数千个 MSP 器件、我们的主要最终产品包括一个板载 MSP 作为辅助协处理器、用于处理某些特定功能。 MSP 和主处理器之间的通信是通过 i2c 实现的、实际上、我们使用的每个 MSP430都通过 i2c 与"主机"系统进行通信、因此所有使用 MSP 的设计之间唯一的共同点(并且有10多种设计) 主机系统和子板之间的连接是通过 I2C 进行的。

我们提供 I2C 时钟+数据线、中断线(漏极开路)和3V3 + GND。 每个 MSP430处理器都包含一个用于2线 SBW 连接(显然是接地)的分线板、我们将其用于编程和调试。 这两条线路仅用于此目的、不用于任何其他用途。

由于调试与功能引脚分开、很难理解为什么我们会遇到问题、调试电路非常简单、多年来我们花费了大量的时间来尝试弄清我们为什么会遇到这些问题、 但我们从未能够达到它们的底部。 尤其是当调试中涉及的两条线路是专用的并且遵循数据表中的指南信息时。

目前、我将从第一个问题开始、LPM 模式崩溃、只能通过在 LPM0中运行来解决、我们希望在其他低功耗模式下运行、但在存在随机崩溃问题时无法运行。

MSP 可以通过 i2c 传输稳定的数据流、使用"超级循环"或"LPM0"、代码将永久正常运行、没有任何问题。 使用 MSP 的每个设计的功能不同、但有些设计非常重要、只需运行计时器来切换 IO 即可。 MSP 可响应 i2c 请求并更改 IO 的状态、所有这些都非常简单、在这种情况下工作正常。

一旦我们引入大于 LPM0的模式、情况就会出错。 这个问题在数小时或数天内可能并不明显、但最终、MSP 似乎锁定了、当它处于此状态时、它完全消失、我们不知道原因。

这种情况的明显答案是"使用调试器"、我们这样做了、我们将调试器连接到 SBW 引脚、直到 MSP 终止、调试器完全正常工作(我可以点击"Bbreak、MSP 暂停、我们可以看到它运行代码很开心、 我可以在 I2C 中断处理程序中放入断点、代码会很高兴地命中这些断点。)

当我们达到这种"恶意"状态时、调试器总是死机、无法中断代码- CCS 只会告诉您它无法停止目标、这就是她所写的、我们无法发现发生了什么错误、 代码为什么会死亡或实际发生了什么。

现在、正如我所说的、这种行为在所有电路板上都很常见、无论 MSP 上的应用是多么复杂或简单、因此也会使我们感到困惑、因为电源、接地、电容器和电阻器或电阻器这两者之间的关系非常小、 我们不应该在一个设计上出现这些问题、更不用说每个使用该特定处理器的设计、 我们在许多不同的芯片供应商中完成了无数个项目、在 MSP430似乎无法创建以我们希望的方式工作的设计之前、我们从未遇到过任何持续存在的处理器问题。

我们已经绘制了文档、勘误表、原理图、参考设计、我们自己的原理图、 我们的代码等等、我们看不到任何明显的东西、我们看不出为什么我们似乎有很多其他人似乎没有遇到的问题、 我进行了无数次搜索、并在谷歌上深入搜索了几百个结果、但仍然无法找到实际问题的答案。


我们发现的第二个主要问题是、多年来、MSP 的代码可能非常难以实现、 而这正是我的生产同事尝试使用 MSP-FET 仿真器(真正的 TI 仿真器)对器件进行编程时的主要原因、他们遇到了可怕的问题。 我必须返回查看特定函数的一些代码、其中涉及测试 MSP430的一些更改、但现在我在调试代码方面遇到了问题。

如果我们运行主微控制器、并且 i2c 正在运行、则 MSP 调试器将终止、直到您尝试停止调试器时、调试器提示无法停止并退出时、MSP 调试器才会终止。 如果我们停止主微控制器并终止 I2C、我们可以调试 MSP、但不能同时进行。 由于 MSP 调试和 I2C 引脚是单独的、因此我无法解释或理解这种情况的发生原因。 我和我的硬件同事在这一点上都感到困惑、真的不知道去哪里、我们已经在想象中的吸管阶段到达了混乱状态、因为什么都没有意义、我们不应该有这些问题、在电源、接地、 SBW 引脚无法正常工作、这似乎不可能、但我们在这里。

因此、我当前的问题是、当 I2C 流量被发送到 MSP 时、我无法通过 SBW 对 MSP430进行编程或调试。 我必须通过主处理器自己的调试器来停止主处理器、然后我能够在 MSP430上对代码进行编程和运行、我可以很高兴地点击"Break"、"PUT breaks"、 因此、对于需要4个连接到闪存的系统、所有操作都符合您的预期、并且需要运行 两个微控制器来调试代码的功能、这在这个阶段似乎是不可能的。


现在、它可能是一个红色鲱鱼、 但我只能看到 MSP430G2553上的 I2C 引脚具有双重用途、可用作完整的4线 JTAG。根据这一知识、我的警报铃会一直关闭。 I2C 是否会以某种方式干扰调试器连接、即使我们使用2线 SBW、这些 I2C 线路上是否存在恰好具有备用 JTAG 功能的流量?

它不应导致问题、MSP430的调试手册指示实际接口是通过专用 SBW 引脚上的特定波形来选择的(好的、RST 是一个共享的功能、但我们已将其隔离)。 由于 I2C 通信正在发生、因此出现无法对器件进行编程或调试的问题、这种情况似乎是偶然的。 这也与之前错误的行为类似、当发生 LPM0和 I2C 流量以外的任何情况时、该错误似乎会被触发。

我们是否在处理同一问题的不同表现? I2C 是这里的常见因素。

我已经阅读了这个特定处理器的勘误表、知道有一个特定的问题会导致调用不正确的异常、它详细说明了这个问题的权变措施、我已经按照它所说的那样实施了该解决方案、我还验证了当问题发生时、 错误异常得到了正确处理、并且这个特定的勘误表得到了正确处理。

我们还使用 MSP 引导加载程序的某个版本、但无论我们使用的是代码的引导加载程序版本还是直接运行的非引导加载程序版本、都会出现上述问题、因此引导加载程序不会成为此问题的一个因素。

这一问题非常普遍、以至于我们真的不知道问题可能是什么、多年来我们设计了如此多的器件、而且几乎每一个 MSP 器件都从未出现过这样的问题。 我们看不到任何明显的设计错误、它们很简单、我们很诚实地盯着它们这么长时间、阅读数据表、勘误表、参考设计、阅读论坛、但我们不能更深入地了解导致我们这么多问题的原因。

是否有人看到过我描述的行为?
有没有关于我们如何尝试找出实际问题的想法?
我们是否错过了显而易见的事实? 多么放松啊!!

我在这里附加了一个伪原理图、其中概述了所使用的通用方案、主要是将 i2c 线路更正为另一个处理器(MSP430始终是从处理器)、SBW 引脚拆分为连接器以连接 FET 仿真器。

每个特定设计的其余部分取决于使用 MSP 的实际功能、但不管它所做的是什么仅限于该 MSP、唯一的互连是通过 i2c 线。

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

    我们还尝试了一个1nF 的电容作为 SBWTDIO 线路、但根据修改后的原理图部分、这对任何事情都没有影响。

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

    您好!

    对于 LPM 问题 、我认为这里的线索是 LPM0 (工作)和 LPM1 (不工作)之间的区别。 在数据表的第10页上、这些模式之间的主要区别在于 DCO 的 dc 生成器在 LPM1中被禁用。 这意味着与 LPM0相比、DCO 启动或唤醒时间更长。

    对于 SBW 问题、请确保您的电路与 《MSP430硬件工具用户指南》中的图2-2相匹配。 R1应为47k Ω。 确保进入"uController 开漏输出"的额外走线不超过图2-2脚注 B 中提到的总最大电容准则。 此外、当您在 CCS 中进行调试时、请将编译器优化设置转换为其最低速度设置。

    使用 MSP-FET 时、我认为还可以自动选择目标配置(在 CCS 中幕后完成)、并以某种方式选择/切换4线制 JTAG 模式。  如果选择此 JTAG 模式、则代码中的 P1SEL.x 和 P1SEL2.x 设置无关紧要、如数据表中的表19所示。 让我来看一个有关如何在 CCS 中手动选择 JTAG 接口的常见问题解答。 同时、请参阅  《使用 JTAG 接口进行 MSP430编程用户指南》中的第2.3.1.1节"启用 JTAG 访问"。

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

    感谢您的回复和指导、我将按照您的建议做出回应、

     较长的启动时间意味着器件将开始执行代码、不过、只是稍晚一点、这并不是我们看到的行为、但器件一旦死机、就会一直死机、直到其物理复位、 为了进一步澄清、这个问题出现在 LPM1或更高版本中经过一段时间后、可能是几个小时、可能是几天、可能是几周、但在某些时候、MSP 会终止并停止响应 i2c 命令、 复位 MSP 会使其在再次停止响应之前的另一段时间内恢复运行

    代码非常简单、使用很少的堆栈、基本上当 i2c 数据传入时、该数据存储在缓冲区中、它只存储正确的数据量、忽略任何额外的数据。  中断退出、通知处理器退出 LPM。  然后主循环被唤醒、然后根据写入的 i2c 寄存器执行操作、就使用的堆栈数量而言、一切都是非常确定的。

    感觉它要么进入了一些例外,正在执行垃圾,要么处于循环中,要么是在*sore*中,我们只是不知道,因为当它进入这个“状态”时,即使我们连接了调试器会话,调试器连接也会断开。 点击"break"以了解 MSP 所做的工作是不可能的、我们从 CCS 收到一个错误消息、告知我们器件无法停止、这就是调试会话的结束。

     令我感到困扰的是、SBW 每次都应该正常工作、而 i2c 在任何情况下都不应干扰、但确实如此。  这也是 两个器件之间唯一的连接(我们移除了与主处理器的 RST 连接)、这是令人不安的、因为如果 i2c 确实干扰了、 从这一点到 i2c 的巨大飞跃似乎并不会导致 MSP 器件以某种方式进入某种随机 JTAG 状态、器件不再执行代码、即我们在 LPM 模式下看到的情况。

    我已经在 CCS 中查看过、但似乎无法告诉它只使用 SBW、似乎是为我们做出这一决定、 如果在具有共享 JTAG 引脚的器件上进行 i2c 通信可能会导致 CCS 或 FET 错误地选择 JTAG 而不是 SBW、这似乎是不可避免的、如果这种行为是可能的、则绝对应该有一个强制 SBW 的选项。  

    这本身可能是我们无法调试 MSP 代码并找出 MSP 芯片的原因、我们可以看看 FET 或 CCS 决定它实际上是完整的 JTAG 接口的相同情况、 尽管我不希望(或认为需要)能够在2线 SBW 接口上启动调试、然后将其切换到完整 JTAG。

    我们在 过去几天内已经阅读了 MSP430 JTAG 手册、尤其是第22页显示了需要在 SBW 引脚上发生以选择正确的调试接口的一些波形、但我们无法控制这些波形、 这是 FET 或 CCS 代表我们执行的操作、如上所述、我无法在 CCS 中看到任何允许我们强制使用2线 SBW 的设置。

    这个问题很奇怪、直到一周左右之前、我才意识到实际上有一个可选的4引脚 JTAG 实现、但是当我意识到这些额外的 JTAG 引脚碰巧共享 i2c 时钟和数据 (因此是稳定的通信流) 我突然有一种可怕的感觉:我们拥有的所有东西和仍然存在 的问题都与我们不能使用的完整 JTAG 接口有关、因为 i2c 使用了这些接口。

    据我所知、看门狗也不能使用、因为  它会在器件重启时对输出产生干扰、这种情况一定不能发生、 因此、我们必须禁用它、因为从我们要运行的低功耗模式、我们无法对其进行服务、当看门狗经过时、我们将重新启动、并且输出上会出现干扰。

    调试代码始终设置为最低优化、否则调试代码可能会很困难、因为调试代码会跳转至优化的位置、因此代码流甚至在观察中看到变量可能会有问题。

    我们真的对这里发生的情况感到很损失、 如果将此问题用于一个设计 、将会令人沮丧、 但是、使用 MSP430G2553的每个电路板上都有这个器件、其中一些仅限于 i2c 和一些连接器、它们非常基本、以至于您可能会遇到这样的问题、但我们现在无法弄清问题的实际存在。

    我们已经尝试了很多我们可能想到的东西、不同的值上拉、不同的电容器、没有电容器等等、 到目前为止、我们所尝试的一切都产生了相同的问题、这就是我们最终在这里尝试并从其他人那里了解实际问题可能是什么以及/或其他人是否看到了相同的行为。

    谢谢。

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

    实际上、还有另一种奇怪。

    如果我们使用 Launchpad 板作为调试器、调试连接的运行方式似乎更加一致 、也就是说、我能够对目标处理器进行编程和调试、而暂停、调试、中断和 i2c 流量似乎不会导致任何问题。

    使用 FET 仿真器时、行为也是一致但一致的、因为这些 i2c 引脚上的任何流量都会阻止我们刷写代码或进行调试、当主处理器暂停且这2条线路处于静音状态时、FET 可以运行、调试、暂停、中断等。  当我将代码设置为再次运行时、MSP 调试器连接便会断开、我无法停止处理器。

    我找到了与强制 SBW 相关的添加到目标配置的设置、它似乎强制使用该模式、如果我强制使用4线制 JTAG、那么我无法进行调试、因为显然缺少这些额外的2个 JTAG 引脚(在我们的案例中、 连接到 I2C 总线、其中 MSP 是从设备)、因此我只能假设对 SBW 的强制 也正确发生、但无论是否存在相同的问题; 当存在 i2c 流量时、SBW 调试连接仅报告"未知设备"。

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

    您好!

    让我确保我理解。 当在 CCS 目标配置中选择了"2线(Spy-bi-wire) JTAG 协议已使用"选项并且您正在使用 MSP-FET 时、您不会看到调试问题。 是这样吗?

    使用 LaunchPad 调试器是一项很好的测试。 默认情况下、这些调试器(例如 eZ-FET Lite)不具有4线制 JTAG 功能、因此 CCS 不会选择该选项。 因此、调试器不会在 MSP430器件上启用 JTAG 模式、这将启用与4线制 JTAG 接口(例如 TMS、TCK)相关的其他 JTAG 引脚。

    需要注意的另一点是电源域。 如果您使用的是 MSP-FET、则有两个选项:VCC_TARGET 和 VCC_TOOL。 如果您的电路板有自己的电源、请勿将电路板上的 VCC 连接到 MSP-FET 的 VCC_TOOL 引脚。 相反、使用 VCC_TARGET 引脚、它感测 VCC 电压电平以设置适当的逻辑电平。 VCC_TOOL 提供电源、因此可能会导致电源冲突。

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

    不可以、FET 和 Launchpad 之间的行为略有不同、FET 明显更糟。

    它将从 FET 开始。

    FET 连接到目标板上的接头、该接头具有 TEST 和 SBWTDIO 引脚以及接地端。

    MSP430具有一些它自己的用于各种 IO 功能的连接、正如您所期望的那样。

    除了自己的 IO 之外、i2c 引脚还连接到 ARM 处理器、在这种情况下、MSP 是 i2c 总线上的从器件。

    由于 i2c 引脚共享4引脚 JTAG 功能、因此我们只能使用2线调试来进行闪存+调试、4线 JTAG 永远不是一个选项。

    我在 FET 中看到的电流行为。

    -如果我启动系统、然后尝试刷写或调试 MSP、我只能从 CCS 获得"未知器件"。 (CCS 中的错误消息非常糟糕)。  当我准备好开始 MSP 闪存或调试时、i2c 流量已开始流动。

    -如果我暂停主 ARM 处理器、然后尝试在 CCS 中将代码闪存到 MSP 上、我也可以调试步骤、添加断点、运行代码、中断代码等、它的工作方式非常完美。

    此时、我让 MSP 运行。

    -如果我现在将 ARM 处理器设置为从其先前的暂停状态运行、则 i2c 流量将启动。

    -如果我现在尝试在 CCS 中停止 MSP、则什么都不会发生、几秒钟后、我被告知无法停止处理器、然后调试会话结束。

    -连接到主处理器的唯一引脚是 i2c 时钟和数据线、因此当我停止 ARM 时、i2c 流量停止。

    LaunchPad 的行为:

    将 LaunchPad 板用作编程器和调试器可提供不同的结果集

    -如果我启动 ARM 执行代码、我有90%的时间能够通过 SBW 在 MSP 上运行代码。  但是、我自己和我的生产同事有时最终都会遇到这样的情况:无论我们做什么、我们要么会遇到与 FET (未知器件)相同的错误、要么有时我会遇到"验证错误"。

    -当我获取未知器件或验证错误时、停止 ARM 处理器并关联 i2c 流量时、行为反映此站点中的 FET、现在可以每隔一次刷写代码而不会出现任何问题、我们可以进行调试。

    同样、在启动 ARM 之后的大部分时间、MSP 调试器连接仍在运行、我能够中断代码、添加断点、单步执行等。

    -我经常看到连接中断、就像我看到的 FET 一样、CCS 不会指示调试连接出了什么问题、 但是、如果我按下 Halt、我会得到与 FET 相同的错误、它告诉我它无法停止 MSP。

    其他想法

    我们完全丧失了 i2c 扼杀调试器的原因、这一点根本没有意义、这两个引脚为何或如何阻止我们可靠地进行调试或闪存、 在我们的情况下、我们只能使用2线调试、实际上无法使用4线、我只是不理解我们在这里看到的非常一致的行为。

    在我们使用该处理器的这段时间内、我可能浪费了几个月的时间、因为这个问题(以及 LPM 问题)困扰了我们至少8年、这个问题没有被隔离到一个电路板上、这个问题出现在我们拥有 MSP 的每个电路板上、 电路板之间的共同点是它们都具有相同的 MSP on (MSP430G2553)。

    我们使用的其他处理器要复杂得多、在布局和信号方面有更严格的规则、MSP 是比较器、这就是为什么我们会反复混淆、为什么我们会遇到同样的问题。

    同样令人难以置信的是、在 CCS 中、诸如能够强制调试连接类型之类的功能不会暴露给 GUI、我甚至不能开始想知道为什么不存在这种连接、 如果调试器无法可靠地检测到正确的 JTAG 连接类型、这是一个非常重要的因素。

    JTAG 手册中还有一行内容、其中建议在仿真器看到器件之前"您可能必须尝试重复的连接尝试"、 如果您必须执行相当于"关闭电视再重新打开"的操作、这严重削弱了我们对调试器稳定性的信心。

    我们此时不知道问题是什么、无论是调试器、CCS、JTAG 还是我们未正确执行的操作、但如果要对器件进行编程和调试、只需要 VCC、GND、TEST、SWBTDIO 连接、任何其他操作都不应干扰。

    对您的其他问题/建议的回答

    无论我们选择2线还是自动、都会出现此问题。当您提到这可能是强制的、我设法找到了单个帖子、解释了如何将设置暴露给 GUI、 我能够确认、选择4线会导致调试器完全不工作、因此让我相信该设置正是它所说的、 但强制使用2线没有任何影响、而 i2c 流量位于 MSP 引脚上、因此无法刷写或调试编程器。

    我们连接到 FET 的唯一引脚是 TEST、SBWTDIO 和 GND。

    TI 是否有人曾尝试过在 G2553中使用 2线 SBW 的 FET 仿真器、而 i2c 主器件将流量放在总线上?

    是否有人能够测试我们创造的导致我们所面临问题的条件?

    我们完全被困在这里、几乎耗尽了我们认为可能是一个问题的所有东西、无论我们之间的建议多么愚蠢、我们尝试了不同的电阻器、添加电阻器、移除电阻器、添加电容器、移除电容器、 尝试不同的电容值、断开或断开电路板上的布线、不同的 FET 仿真器、不同的 Launchpad 系统等等、您可以说出它的名称、我们已经尝试过。

    此致

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

    此外、当它有点"一半做什么"时、我会遇到如下错误:

    MSP430:在长度为 bbbb52的第0页0xc004处写入内存块时遇到问题:无法写入设备内存
    MSP430:文件加载器:验证失败:目标写入0xC004失败

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

    我还要感谢您花时间尝试并帮助我们了解这里发生的情况、如果我的回答看起来非常糟糕、这是因为我想让您尽可能深入地了解我们正在做的事情、我们已经尝试过的事情、 真正令我们困惑的是什么等等。

    如果我们能够找到这些问题的最根本、我们就会过月球、因为它们已经以特定的形式存在了很长时间、我们已经解决了这些问题、但我们很乐意让它们像我们所知道的那样掉电。

    实际代码本身及其实现的目的确实很好、只有这两个问题我们无法处理、这导致了我们很多沮丧。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="48765" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1043659/msp430g2553-long-term-sbw-i2c-and-other-issues/3862688 #386268"]我们连接到 FET 的唯一引脚是 TEST、SBWTDIO 和 GND。[/quot]

    我强烈建议您将 MSP-FET 的 VCC_TARGET 引脚连接到电路板的 VCC。 也许这种联系会有所帮助。

    您还可以尝试在 CCS 目标配置中将 SBW 时钟速度降低到低电平。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="48765" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1043659/msp430g2553-long-term-sbw-i2c-and-other-issues/3862878 #3862878">此外,当它有点“一半做什么”时,我会遇到如下错误:

    MSP430:在长度为 bbbb52的第0页0xc004处写入内存块时遇到问题:无法写入设备内存
    MSP430:文件加载器:验证失败:目标写入0xC004[/QUERP]失败

    论坛中有许多类似的线程、其中许多线程的解决方案是对调试器进行固件更新。 您使用的是哪个版本的 CCS? 很抱歉、我在您的一篇帖子中遗漏了该信息。 它可能有助于安装最新版本的 CCS、创建新的工作区以及从 TI Resource Explorer 导入简单的代码示例。 然后、尝试下载/调试项目、希望 MSP-FET 的固件升级将被触发。 您可以完成该过程、希望这可以解决该问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="48765" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1043659/msp430g2553-long-term-sbw-i2c-and-other-issues/3863018 #3863018"]实际代码本身及其实现目标的效果非常好,正是这两个问题我们无法处理,这导致我们感到非常沮丧。

    我同意 LPM 问题很奇怪。 若要调试该问题、最好添加调试代码、在代码的某些位置切换 GPIO。 这样、您就可以准确跟踪代码的挂起位置、而无需使用活动的调试会话。 我无法解释为什么较长的启动时间会导致这个问题、但是诸如丢失数据或干扰之类的东西可能会导致代码挂起、因此永远不会在 I2C ISR 中退出 LPM、等等 如果您要配置 DCO、我认为有一个勘误表、其中时钟实际上也可能停止、因此也请记住这一点。

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

    SAT:

    我对您遇到的所有 G2553都无法从 LPM1及更高版本退出的问题非常感兴趣。 您是否取得了任何进展?

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

    我对 TEST/SBWTCK 引脚的文档有点困惑。 一方面、它会多路复用双用 JTAG 引脚、另一方面、如果不以正确的方式摆弄两个 SBW 引脚、则无法使芯片进入 JTAG 模式。

    LPM 模式问题比较棘手。 由于我看不到任何代码、我首先想到的是 LPM 退出代码的错过更改。 当另一种模式被使用时、使用 LPM0_EXIT 将打开 CPU、但将振荡器保持在关闭状态。 我不知道会使 CPU 保持什么状态。 瑞士军队退出码的刀具是 LPM4_EXIT、因为这清除了所有四个位并将退出所有模式。

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

    SAT:

    关于退出 LPM 1和更高版本的问题、我认为很多 G2553器件的问题也很奇怪、这只是您拥有的特定器件集的问题。 这非常非常奇怪。 这种情况使器件的环境非常可疑、我的意思是器件所连接的电路。 如果将这些 G2553从其环境中拉出并放入 LaunchPad、然后加载一个非常简单的程序、该程序用于测试从 LMP1或更高版本唤醒中断的中断、则该测试将成为故障分析的坚实起点。 这种分析可以记录下来、并在逻辑上跟随鱼骨图。

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

    我拔出了带有 G2553 (20引脚)的 Launchpad、并加载了一个使用 LPM3和计时器中断以固定模式使 LED 闪烁的简单程序。 它已经这么做了几天了。 这是我所期望的。 所需的是失败的代码示例。 我怀疑这会显示代码问题、而不是硬件问题。