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.

[参考译文] MSP430FR2311:有关 MSP430FR2311安全性的问题

Guru**** 2589245 points
Other Parts Discussed in Thread: MSP430FR2311, MSP430FR5969, MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/705782/msp430fr2311-question-about-msp430fr2311-security

器件型号:MSP430FR2311
主题中讨论的其他器件: MSP430FR5969MSP-FET

大家好、

在我早期使用的许多器件中、我可以保护代码存储器不被读取、但如果我执行擦除操作、它也会擦除固件和保护位。

我不清楚是否可以在 MSP430FR2311中执行该操作。

如果我禁用 BSL 并锁定 JTAG/SBW、我可以完全擦除固件并重新编程吗?

请提供建议。

恐怕会损坏器件。

谢谢、

Shlomi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,什洛米
    如果您锁定了 BSL 并发送了错误的密码来访问 BSLd、器件将自行批量擦除。
    有关详细信息、请参阅 www.ti.com/.../slau550p.pdf 第28页
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gary、

    它不是很有帮助。 我需要使用 MSP430.dll API 进行擦除。 有可能吗?

    我看到配置参数 TOTAL_ERASE_DEVICE。 但不清楚如何使用它。

     

    如果器件受 BSL 密码保护、如器件用户指南(器件安全) 1.11中所述

    1. 如何定义密码长度? 它位于固定地址(FFE0h 至 FFFFh)中。 但我是否应该使用所有的密码空间?
    2. 如果器件受密码保护、如何使用 MSP430.dll 访问此器件?

     MSP430_OpenDevice ()

    STATUS_T WinAPI MSP430_OpenDevice

    (

    const char *  

    件、

    const char *  

    密码、

    内部32_t  

    PwLength、

    内部32_t  

    DeviceCode、

    内部32_t  

    部分  

    )

    密码应与 BSL 密码相同

    1. 当 BSL 签名 FF84h 至 FF87h 默认为0xFFFF 时会发生什么情况?

    我真的需要在这里得到支持、因为所有这些都不够清楚。

    谢谢、

    Shlomi

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

    我们在 www.ti.com/.../slaa685.pdf 上提供了代码保护用户指南和示例代码
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Gary、

    它看起来非常有趣、可能可以解决我的问题、但有一些问题:
    本文档中与 MSP430FR5969相关的示例。 我使用 MSP430FR2311。 我能否确保 MSP430FR2311支持这些功能。 MSP430FR2311的数据表和用户指南中未包含地址0xFF80和0xFF8。
    2.如果在使用密码从 IAR 烧录后、我需要从 MSP430.dll 访问 JTAG、我应该在 MSP430.dll 的函数 MSP430_OpenDevice 中使用相同的密码
    3.如果我不使用 BSL 并将其禁用、对于上述过程、它是否正常?

    此致、
    Shlomi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Gary、
    我试图这样做,但它不起作用。
    请检查 MSP430FR2311是否支持 JTAG 密码。
    如果是、如何实现它。
    此致、
    Shlomi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,什洛米

    MSP430FR2311不支持 JTAG 密码访问功能。 在 fr2311中、您可以使用 GUI FET-Pro-430-Lite (www.elprotronic.com/products )熔断保险丝以禁用 JTAG。 如果您想重复使用器件、您可以使 BSL 执行批量擦除。 有关 BLS 的使用、请参阅 www.ti.com/.../slau655f.pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但 BSL 需要 UART、I2C 或 SPI。 所有这些端口都很忙。 是否有任何方式通过 JTAG 导致 BSL 擦除存储器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,什洛米

    如果在您可以使用 GUI FET-Pro-430-Lite 擦除存储器之前未禁用 JTAG、但如果您之前已禁用 JTAG、我恐怕无法通过 JTAG 擦除存储器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我也认为是这样。 在这种情况下、我必须在我的固件中添加一些器件、以便根据外部信号执行该操作。 如果没有其他方法、我将会这样做。
    固件本身能否写入 JTAG 地址? 它是否会在复位后启用它?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,什洛米
    是的、您可以使用固件禁用 JTAG。 只需添加以下代码即可
    #pragma RETAIN (JTAG_signures)
    #pragma DATA_SECTION (JTAG_signature、".jtagsignating")
    const uint16_t JTAG_signating[]={0xAAAA、0x0002};
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的问题不是关于禁用。 我询问了启用。
    例如 JTAG 被禁用。
    但我有一个正常上拉的 GPIO。
    如果其输入为0、则我的固件会擦除自身并将 FF 写入所有 JTAG 保险丝。
    它是否会在下次上电时启用 JTAG?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,什洛米

    我在这里为您提供了一个解决方案:

    您可以使用按钮重新启用 JTAG、但您应该保持加电状态、直到您使用 JTAG 将新代码加载到器件。

    以下是您可以参考的代码(我使用 fr2311).e2e.ti.com/.../msp430fr231x_5F00_P1_5F00_01.c

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

    您好、Gary、

    我已经实施了类似的代码、但问题是我需要额外的设备。

    我想尝试使用 MSP FETFlash 的其他信号。

    我在 SLAU647L 文档中读出、除了 JTAG/SWD  之外、还有一个 UART 接口可连接 CTS、RTS 信号。

    我可以像往常一样通过 UART 或 MSPDebugStack 对它们进行控制吗?

    通过 MSP430.dll 打开 JTAG 时是否有任何访问方法?

    是否有代码示例?

    是否不够清晰

    此致、

    Shlomi

     

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

    可以、您可以使用 UART 来锁定或解锁 JTAG。您可以使用 FRAM 存储器中的标志来控制是否锁定 JTAG。
    这里没有代码示例。但这听起来很有趣、感谢您的想法。

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

    您好、Gary、

    我需要在 MSP FET 闪存中使用 UART

    我尝试将其配置为设置波特率、如表中所述、然后控制 RTS PINT (13)。

    我尝试使用的是 Windows 中的常用 COM 端口。

    例如、我设置波特率 9622以使用握手进行配置。

    之后、我将其设置为9600、并尝试使用 Windows SetCommState 函数控制 RTS 输出。 但没有任何变化。

    可能出了什么问题? 它是一种控制该 UART 的方法。

    或者还有其他 dll?

    请帮助。

    此致、

    Shlomi

    e2e.ti.com/.../MSP.docx

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

    它与 JTAG 无关。

    我对 MSP-FET 反向通道 UART 的问题


    我在 SLAU647L 文档中看到、除了 JTAG/SWD 之外、还有一个 UART 接口、用于连接反向通道 UART 的 CTS、RTS 信号

    我可以像往常一样通过 UART 或 MSPDebugStack 对它们进行控制吗?
    通过 MSP430.dll 打开 JTAG 时是否有任何访问方法?
    是否有代码示例?
    在 SLAU647L 中、它不够清晰。

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

    你好,什洛米

    那么、您只想使用 eZ-FET 上的 UART 与 PC 通信吗? 如果是这样、您可以使用 Resource Explorer 中的 UART 代码示例。

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

    您好、Gary、

    它在哪里? 它是 IAR 的一部分、还是我可以下载它?

    谢谢、

    Shlomi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它在 CCS 中、您还可以在 msp2311' SDK 中找到 UART 示例代码: www.ti.com/.../getliterature.tsp
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您似乎也不理解我的要求。
    我询问如何控制 MSP FET 闪存的反向通道 UART、而不是控制器 UART。 如何在 MSP430FR2311中控制 UART、我知道并无问题地执行该操作。
    我想按照 SLAU647L 中的说明使用它、但它不起作用。
    您觉得您只熟悉 MSP430FR2311、您能告诉我一位了解如何控制 MSP FET 闪存的人吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,什洛米

    我已帮助您向工具团队提出问题、但这方面没有回复。 我可以向您提供您可以直接向他们咨询的工具团队的电子邮件地址。 Berenbrinker、Florian 。 我将关闭该线程。

    此致
    Gary