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.

[参考译文] MSP430FR59941:CryptoBSL 进入序列故障

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1102195/msp430fr59941-cryptobsl-entry-sequence-failure

器件型号:MSP430FR59941
主题中讨论的其他器件:UNIFLASHMSP-FETMSP430FR5994

您好!

我们遇到了 CryptoBSL 进入序列无法持续运行的问题。  

以下序列显示了如何重现问题:
1)标准复位-无法复位 MCU、RST 上持续12us
注意:复位之间的时间相差1 - 5秒
2)标准复位-无法复位 MCU、RST 上持续时间为12us
3) CryptoBSL 进入序列-轮询0x48 50毫秒后失败(ACK 失败)
4)标准复位-成功、RST 上持续时间为12us
5)标准复位- 无法复位 MCU、RST 上12us 持续时间
6)标准复位-无法复位 MCU、RST 上12uS 持续时间
7) CryptoBSL 进入序列-轮询0x48 10ms 后成功
8)标准复位-成功、RST 上12uS 持续时间
9)转至步骤1 
 我们的期望
1)标准复位-成功、RST 上12us 持续时间
2)标准复位-成功、RST 上12us 持续时间
3) CryptoBSL 进入序列-轮询0x48后10ms 成功
4)标准复位-成功、RST 上12us 持续时间
5)转到步骤1 
所做的一项改变是将 RST 的12us 持续时间增加到260us。 然后、所有标准重置都可以正常工作、但有时 CryptoBSL 条目序列仍会失败、并且在发出另外两个标准重置之前、我们无法使 CryptoBSL 条目序列正常工作。
目的是使 BSL 复位序列可靠。

提前非常感谢您对此提供的帮助!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tony、

    我对您的设置有几个问题:

    • 如何重置设备? 软件还是硬件?
    • 如何确定重置失败?
    • 您如何调用 CryptoBSL?

    谢谢、

    Evan

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

    您好 Evan、

    感谢您的快速回复!

    • 如何重置设备? 软件还是硬件?

    硬件测试和 RST 以启动 BSL 复位序列。

    • 如何确定重置失败?

    对于 BSL 复位序列、我们发送地址0x48W 长达50ms、等待 ACK。 如果我们收到 ACK、则需要大约10ms。
    此外、对于标准重置序列、我们有一个 LED、我们会在每次重新启动固件代码时闪烁。

    • 您如何调用 CryptoBSL?

    为了排除 CryptoBSL 的额外复杂问题、我们会遇到 BSL 重置失败、而不将 BSL 签名设置为0x5555。 预计将调用 ROM BSL。  抱歉、我可能将此错误标记为专门的加密错误问题。

    谢谢、
    Tony

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

    您好、Tony、

    我想、减缓复位脉冲会改变行为、这是很奇怪的。 您的原理图/电路板是否与下面所示数据表中图10-3中的参考原理图相匹配? 具体而言、如果 RST 上的电容过大、我可以看到这会导致问题。  

    您能否查看此内容并确认您的设计是否满足这些要求?

    谢谢、

    Evan

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

    谢谢 Evan。  我联系了我们的合作伙伴公司进行设计、我将在收到回复后立即更新。

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

    您好 Evan、

    我们的合作伙伴公司提供:我们不使用 JTAG 执行复位序列、而是 从另一个器件控制它。 我们板上的 C1是1nF。

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

    您好、Tony、

    感谢您查看该内容。 您是否能够将示波器连接到 RST 和 TEST 引脚以确认脉冲排序是否正确? 它应如下所示:

    您将在 FRAM BSL 用户指南中找到更多信息。 我还会确保器件正确通电。

    此致、

    Evan

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

    您好 Evan、

    我已附上波形、显示了我认为正确的波形(希望持续时间在范围内)。

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

    您好、Tony、

    感谢示波器快照! 我想您可能违反了 Tsbw、en (基本上是第一个脉冲宽度)。 在数据表中、最大值为110us、但在您的系统中、它标记为120us。 可以减少该数量并重试吗? 此处是我从中提取信息的位置:

    FRAM BSL 用户指南:

    数据表表 8.12.13.1 JTAG 和 Spy-Bi-Wire 接口:

    谢谢、

    Evan

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

    您好 Evan、

    很抱歉、回答很慢。 我们将其更改为100us 和110us、但我们仍然具有相同的结果。  

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

    这是标准复位的波形(如果有用)。

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

    感谢您的分享。  

    为什么要切换 TEST 引脚? 在正常复位期间、它应该为低电平:

    此致、

    Evan

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

    尽管 TEST 引脚正在切换、但它在复位期间处于低电平、因此这种情况是否正常? 是否有任何想法、 为什么发送此测试/RST 序列两次会阻止 BSL 复位进入 BSL 模式?

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

    Tony、

    即使在复位期间认为 TEST 为低电平、它也在复位边沿附近转换。 我不确定这是否会导致您的问题。

    您是否可以访问 MSP FET 或等效编程器? 从这里开始、确定您是否遇到任何奇怪的硬件问题可能会更容易。 如果 MSP FET 能够对器件进行编程、那么我将查看两个复位/调用序列之间的区别。 如果 MSP FET 出现问题、我将详细介绍硬件。

    此致、

    Evan

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

    谢谢 Evan。

    是的。 我们没有遇到 MSP FET 问题。 它似乎总是起作用。 我们在 Spe-bi-wire 模式下使用它。
    当 BSL 复位无法进入 BSL 时、是否有建议的方式来复位 MSP430?

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

    Tony、

    MSP FET 也可以执行 BSL。 您可以尝试一下吗?

    此致、

    Evan

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

    我们尝试了 BSL Scripter 和 UNITFlash。 两个工具都无法通过 MSP-FET 执行 BSL 复位。 但是、这两种工具都不是真正的选择。
    在部署中、我们有一个能够执行 BSL 复位以更新 MSP 固件的集成器件。 我们观察到、有时 MSP 将始终无法进入 BSL。 这可能是由于 SYSBSLIND 未能被置位。 我们发现、执行这两个标准复位是将 MSP 置于此状态的一种方法、其中以前按预期工作的 BSL 复位序列现在失败。 我们所寻求的解决方案是一个恢复过程、它将可靠地将 MSP 恢复到 BSL 复位将按预期工作的状态。

    谢谢、
    Tony

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

    我知道您无法在生产中使用 MSP FET。 我只是想了解您是否可以使用它对器件进行编程、您已经报告过这一点。 您是否有可以尝试的 launchpad? 如果您可以使用 MSP FET 通过 BSL 对 LP 进行编程、那么我怀疑您的硬件有问题。  

    Evan

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

    我们有 MSP430FR5994 Launchpad、但该板使用 UART BSL。 我们的设计使用 MSP430FR59941、它使用 I2C BSL。 因此、我们无法在 LaunchPad 上执行请求的测试。
    我们能够将用于测试和复位的附加 MSP-FET 信号连接到 MSP430FR59941。 我们看到 UNITFlash 切换测试和复位以生成两次 BSL 复位波形。 接下来、我们看到 UNITFlash 切换 I2C 并发送0x48W 和0x48R。 两者都是裸的。 与当前硬件设计相比、MSP-FET 的性能更差。 除了两个复位脉冲描述的情况外、当前硬件设计在大多数时间内都有效。
    另一个有趣的问题是、当 MSP 处于 BSL 复位不会进入 BSL 的不良状态时、如果我们从 MSP-FET 获取引脚7 SBWTCK 并将其触碰到 MSP 的 TEST 引脚、 测试和复位引脚上会产生大量噪声、并导致 MSP 复位并退出此不良状态。
    最初、硬件设计在需要切换之前保持 TEST 高电平。 这使得 MSP-FET 无法利用 TEST 引脚。 TEST 引脚在不使用时变为悬空。 让测试浮点可能是问题的一部分吗? 是否有更好的方法与 MSP-FET 和我们的集成器件共享此引脚资源?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="521846" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430low-power-microcontroller-forum/1102195/msp430fr59941-cryptobsl-entry-sequence-failure/4092220#4092220]我们 有 MSP430FR5994 LaunchPad、但使用了 UART BSL LaunchPad。 我们的设计使用 MSP430FR59941、它使用 I2C BSL。 因此、我们无法在 LaunchPad 上执行请求的测试。[/quot]

    好的、明白了。

    [引用 userid="521846" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430low-power-microcontroller-forum/1102195/msp430fr59941-cryptobsl-entry-sequence-failure/4092220#4092220]MSP 引脚处于错误的触摸状态、如果我们不将其从 MSPTCLK 引脚复位为 BSL、则将其复位、并将其复位为 BSL 引脚。 测试和复位引脚上会产生大量噪声、并导致 MSP 复位并退出此不良状态。[/报价]

    如何在连接 MSP FET 时为器件供电? 这些器件是否共享公共接地? 我认为连接 SBWTCK 不会产生很多噪声。  

    [~ userid="521846" URL"/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp430fr59941-cryptobsl-entry-sequence-failure/4092220#4092220"]最初、硬件设计需要保持高电平才能切换至高电平。 这使得 MSP-FET 无法利用 TEST 引脚。 TEST 引脚在不使用时变为悬空。 让测试浮点可能是问题的一部分吗? 是否有更好的方法与 MSP-FET 和我们的集成器件共享此引脚资源?[/quot]

    FRAM 引导加载程序建议在 TEST 和 TMS 上使用上拉电阻和电容接地、以避免错误地进入 JTAG 模式。 您说您通常将测试保持在高电平、这应该足够、除非您的系统确实有噪声。 您是如何终止 TMS 的?

    我还会检查 BSL 可能无法调用 FRAM BSL 用户指南中列出的其他原因:

    此致、

    Evan

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

    如何在连接 MSP FET 时为器件供电?
      单独的电源。 为 MSP430供电的 Vcc 连接到引脚4 VCC_TARGET

    这些器件是否共享公共接地?
      是的。

    FRAM 引导加载程序建议在 TEST 和 TMS 上使用上拉电阻和电容接地、以避免错误地进入 JTAG 模式。
    如果 TCK 和 TMS 未连接到任何部件、是否会导致问题? 我们测量了 TCK 和 TMS 上的电压、二者均为0V。 您是否认为器件正在进入 JTAG 模式? 如何退出 JTAG 模式? 如果我们可以退出 JTAG 标签模式、我们可以显示这是问题所在。

    文档 SLAU278AF:MSP430硬件工具用户指南指定了 TCK 和 TMS 应该在4线制 JTAG 中直接连接或者在2线制 JTAG (SpY-bi-wire)中无连接。
    请参阅第21页的图2-1。 4线制 JTAG 通信的信号连接、第23页、图2-3。 支持所有 MSP430 SBW 的2线制 JTAG 通信(Spy-Bi-Wire)的信号连接
    不属于 F2xx、G2xx、F4xx 系列的器件
    MSP430FR5994用户指南中也复制了这些数字。

    我们最初将测试保持在高电平、但我们必须将其更改为浮点。 当 TEST 保持在高电平时、MSP-FET 不工作。
    MSP430数据表(slase54c)说明了这个关于测试的信息:这个引脚一直具有一个启用的内部下拉电阻器。
    这是否意味着测试不应浮动?
    此外、在没有将 MSP-FET 连接到我们的器件的情况下、可以进入 BSL 复位故障状态。

    我们正在阅读 slau320aj 以了解有关 JTAG 状态的更多信息。 到目前为止、似乎具有测试浮点(开路?) 是正常行为。 如果 JTAG 模式是阻止 MSP430进入 BSL 的问题、是否有已知的方法可以退出此模式并使 BSL 可靠地再次工作?

    谢谢、

    Tony

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

    Tony、

    [引用 userid="521846" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/msp430fr59941-cryptobsl-entry-sequence-failure/4093169#40931694"]您是否认为器件正在进入 JTAG 模式?[引用/引用]

    我认为这可能会解释您看到的行为。

     根据 slau320aj.pdf 中的进入序列说明 、保持 TEST 高电平将启用 SBW 接口(请参阅2.3.1.1)。 启用 SBW 将禁用 BSL 接口(请参阅图2-13)。  

    您可以在正常运行期间尝试保持测试低电平吗? 仅在您打算进入 BSL 模式时切换。

    此致、

    Evan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以在正常运行期间尝试保持测试低电平吗? 仅在您打算进入 BSL 模式时切换。 
    是的、这是我们要尝试的事情之一。 我们还需要能够允许 MSP-FET 激活 SBW/4线制 JTAG 模式。 是否有推荐的方法对测试访问进行仲裁?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    为什么需要同时连接两个器件进行测试?

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

    一个始终连接、但没有调试功能。 另一个是 MSP-FET、我们仅将其连接到调试。

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

    如果是调试板、则跳线可能是最简单的。 如果这是一个生产板、只要您可以在插入 MSPFET 时使嵌入式编程器成为 HiZ、您就应该可以了。

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

    您好 Evan、

    很抱歉、响应缓慢、我们正在等待一些测试命令。 我们发现 、以下波形始终有效、以确保 JTAG 模式始终处于禁用状态、并授予 BSL 进入权限。  您对该序列为什么会实现这一目标有什么想法吗?

    谢谢、
    Tony

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

    您好、Tony、

    真有意思。 我不知道为什么测试中的3个脉冲会起作用。

    但是、在正常运行期间、您的系统似乎仍保持测试高电平。 是否有任何东西阻止您将测试保持在低电平? 将 TEST 设置为低电平是器件的预期运行条件。 如果您将 TEST 保持在高电平、SBW/JTAG 接口将被启用、我认为这对于正常应用操作没有意义、我认为这可能与您的问题有关。 请参阅 使用 JTAG 接口进行编程中的2.3.1.1

    此致、

    Evan

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

    您好 Evan、

    我们正在等待修改 FW 以保持测试低电平并发送所描述的波形。 一旦我们确认该问题有效、我们应该尽快解决该问题。 感谢您的帮助! 我将尽快更新。

    Tony