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.

[参考译文] MSP432P401M:BSL命令RX密码问题

Guru**** 2540720 points
Other Parts Discussed in Thread: MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/579279/msp432p401m-bsl-command-rx-password-question

部件号:MSP432P401M
主题中讨论的其他部件:OS3MSP432P401RMSP-FET

BSL内核接收数据包中包含的密码并解锁受BSL保护的密码
如果密码与BSL中断矢量表(位于
地址0x0到0xFF之间)。

我的问题是:如何在BSL闪存邮箱中指定总共256字节的密码? 这是哪个字段?

JTAG/SWD锁定配置? IP保护?  出厂重置密码?

JTAG/SWD锁具有4个0xFFFFFFFF密码,4个0xFFFFFFFF初始向量和8个oxFFFFFFFF安全密钥。

IPP0,1,2和3还具有密码,初始化矢量和安全密钥。

RX密码中使用哪个字段?

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

    您好,Glen:

    您是否见过此应用手册?

    在MSP432P4xx上配置安全和启动加载程序(BSL)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复。
    我已经阅读了你上面提到的文件,但我的问题没有线索。
    你能给我一点提示吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    BSL和JTAG/SWD是访问闪存的两种不同且独立的机制。 因此,它们的保护机制也是不同和独立的。

    JTAG/SWD通过JTAG/SWD锁进行保护。
    BSL受BSL密码保护。

    闪存邮箱称为“闪存邮箱”,而不是“BSL闪存邮箱”,因为它与BSL保护无关。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,它是闪存邮箱,而不是BSL闪存邮箱。
    我看到slau690c.pdf第11页中的陈述:
    如前所述,BSL使用内存地址0x0000:0000–0x0000:0100作为密码
    参考。
    那么,如何在地址0x0000:0000–0x0000:0100中指定内容?
    直接更改TI-TXT文件中的内容或其它内容?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    "指定"的确切含义是什么?

    中断向量表是应用程序映像的一部分,因此它已包含在TI-TXT文件中。
    使用BSL时,必须在RX密码数据包中指定这些256字节。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我要做的是将自定义密码设置为BSL。
    BSL中断矢量表包含在应用程序图像中,此[const uVectorEntry __vector_table[]@".intvec"=>对吗?
    如何通过TI-TXT文件了解我当前的BSL密码或如何修改密码?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    修改BSL密码很困难,因为它是由中断矢量表中的所有指针确定的。 唯一可以轻松更改的值是未使用的条目。

    是的,可以从TI-TXT文件读取密码;必须在地址00-FF处提取字节。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我尝试使用以下步骤通过BSL读取内容,但不起作用:

    1.通过以下示例脚本使用BSL脚本工具下载程序,它工作正常:

    日志
    模式P4xx UART 9600 COM4
    RX_PASSWORD_32 pass256_right.txt
    RX_PASSWORD_32 pass256_default.txt
    质量_擦除
    RX_DATA_BLOCK 32 OS3.txt
    TX_BSL_VERSION_32
    TX_DATA_block_32 0x0000 0x4000 ReadBlock_MSP432P401R.txt
    reboot_reset

    2.我尝试使用来自OS3.txt前256个字节的BSL密码副本(只需用记事本打开它并复制前256个字节)  

    并通过BSL读取内容,脚本如下所示:

    日志
    模式P4xx UART 9600 COM4
    RX_PASSWORD_32 pass256_right.txt
    TX_BSL_VERSION_32
    TX_DATA_block_32 0x0000 0x4000 ReadBlock_MSP432P401R.txt
    reboot_reset

    但结果是 密码不正确,BSL已锁定。

    那么接下来我该怎么办呢?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    密码文件必须是有效的TI-TXT (或Intel HEX)文件。 请准确显示您复制到该文件的内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    口令文件格式如下所示(示例脚本具有pass256_default.txt,我只覆盖256个字节):
    每行16个字节,总计16行

    @0
    58 12 00 20 75 7C 01 00 89 7C 01 00 8B 7C 01 00
    91 7C 01 00 8D 7C 01 00 8F 7C 01 00 91 7C 01 00
    91 7C 01 00 91 7C 01 00 91 7C 01 00 91 7C 01 00
    91 7C 01 00 91 7C 01 00 99 5B 01 00 69 37 01 00
    59 72 01 00 63 72 01 00 6D 72 01 00 77 72 01 00
    81 72 01 00 8B 72 01 00 95 72 01 00 9F 72 01 00
    A9 72 01 00 AF 72 01 00 AB 72 01 00 B9 72 01 00
    AD 72 01 00 C3 72 01 00 CD 72 01 00 D7 72 01 00
    E1 72 01 00 EB 72 01 00 F5 72 01 00 FF 72 01 00
    07 73 01 00 11 73 01 00 19 73 01 00 21 73 01 00
    29 73 01 00 31 73 01 00 3B 73 01 00 45 73 01 00
    4F 73 01 00 59 73 01 00 63 73 01 00 6D 73 01 00
    77 73 01 00 81 73 01 00 8B 73 01 00 95 73 01 00
    9F 73 01 00 A9 73 01 00 B3 73 01 00 BD 73 01 00
    C7 73 01 00 80 B5 02 F0 07 FE DF F8 64 07 00 88
    DF F8 60 17 09 88 42 15 D3 DF F8 5C 07 00 88
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这看起来正常。

    是否确定OS3.txt已实际加载? 它是否正常运行? 前面读入MSP432‍P401R.txt的内容是否有效?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,OS3.txt的加载没有问题,读取MSP432‍P401R.txt也可以正常工作。
    但下次我使用正确的密码执行RX密码时不正确,并且回读失败
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Glen,

    我很想知道您是否知道如何纠正此问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    否,我无法找到任何解决方案来纠正此问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您能告诉我您正在使用什么工具进行此操作吗? 它是启动板还是BSL Rocket或MSP-FET调试器?

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

    日志
    模式P4xx UART 9600 COM4
    RX_PASSWORD_32 pass256_right.txt
    TX_BSL_VERSION_32
    TX_DATA_block_32 0x0000 0x4000 ReadBlock_MSP432P401R.txt
    reboot_reset

    密码文件格式如下所示(示例脚本具有pass256_default.txt,我只覆盖256字节):
    每行16个字节,总计16行

    @0
    58 12 00 20 75 7C 01 00 89 7C 01 00 8B 7C 01 00
    91 7C 01 00 8D 7C 01 00 8F 7C 01 00 91 7C 01 00
    91 7C 01 00 91 7C 01 00 91 7C 01 00 91 7C 01 00
    91 7C 01 00 91 7C 01 00 99 5B 01 00 69 37 01 00
    59 72 01 00 63 72 01 00 6D 72 01 00 77 72 01 00
    81 72 01 00 8B 72 01 00 95 72 01 00 9F 72 01 00
    A9 72 01 00 AF 72 01 00 AB 72 01 00 B9 72 01 00
    AD 72 01 00 C3 72 01 00 CD 72 01 00 D7 72 01 00
    E1 72 01 00 EB 72 01 00 F5 72 01 00 FF 72 01 00
    07 73 01 00 11 73 01 00 19 73 01 00 21 73 01 00
    29 73 01 00 31 73 01 00 3B 73 01 00 45 73 01 00
    4F 73 01 00 59 73 01 00 63 73 01 00 6D 73 01 00
    77 73 01 00 81 73 01 00 8B 73 01 00 95 73 01 00
    9F 73 01 00 A9 73 01 00 B3 73 01 00 BD 73 01 00
    C7 73 01 00 80 B5 02 F0 07 FE DF F8 64 07 00 88
    DF F8 60 17 09 88 42 15 D3 DF F8 5C 07 00 88

    [/引述]

    在第一篇文章中,您说您正在呼叫"pass256_right.txt"作为您的密码。  在下一篇文章中,您说您正在将ReadBack_MSP432P401R.txt中的前256个字节写入文件“pass256_default.txt”。  您是否可能将密码写入一个文件,并尝试错误地从另一个文件读取密码?

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

    Glen,

    这对您的情况有帮助吗?