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.

[参考译文] MSPM0L1304:有关 MSPM0 I2C BSL 的问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1265348/mspm0l1304-questions-about-mspm0-i2c-bsl

器件型号:MSPM0L1304
主题中讨论的其他器件:LP-MSPM0G3507MSPM0L1306

您好!  

我对 I2C BSL 有一些疑问。

NRST 引脚与适用于16引脚 SOT 封装的 BSL I2C SCL 进行多路复用。

我的客户在其应用中禁用了 NRST 引脚以实现 I2C 功能。

因此我们必须使用软件调用进入 BSL。

我使用以下硬件和软件进行了测试。

主机:   LP-MSPM0G3507

       C:\ti\mspm0_sdk_0_58_00_00_eng\...\bsl_host_mcu_i2c  

目标: MSPM0L1304SDYYR (SOT-23-THN 封装)

       C:\ti\mspm0_sdk_1_10_01_05\examples\nortos\lp_MSPM0L1306\bsl\BSL_software_invoke

主机示例中禁用了硬件调用、当目标进入 BSL 时检查了连接。

但是、没有与 BSL 的通信。

在相同条件下、如果只有目标从 MSPM0L1304SDYYR 更 改为 LP-MSPM0G3507、则 BSL 会正常响应。

1.当 MSPM0L1304进入 BSL 后、是否会禁用 NRST 功能以进行 I2C 通信?

当使用 PA1/NRST (16引脚 SOT-23-THN 中的第4号)作为 I2C 功能时、除非禁用 NRST 功能、否则 I2C 将无法正常运行。

2.如果目标在 BSL 中,而主机进行硬件调用序列,目标是否会再次进入 BSL?

3. 如何在 BSL 进入睡眠模式时唤醒?

您好!  

此外、主机 无法从空白器件获得 BSL 响应。  

bsl_err = Host_BSL_Connection (); 在 main.c 中


BSL_ERROR_t Host_BSL_Connection (void)
{
bsl_error_t bsl_err = eBSL_Success;
I2C_ERROR_t i2c_ack;
uint32_t ui32CRC;

bsl_tx_buffer[0]=(uint8_t) packet_header;
BSL_TX_BUFFER[1]= LSB (CMD_BYTE);
BSL_TX_BUFFER[2]= 0x00;
BSL_TX_BUFFER[3]= CMD_CONNECTION;

//在有效载荷上计算 CRC (CMD +数据)
ui32CRC = softwareCRC (&BSL_TX_buffer[3]、CMD_BYTE);
//将 CRC 插入到数据包中
*(uint32_t *)&BSL_TX_buffer [HDR_LEN_CMD_BYTE]= ui32CRC;

I2C_ack = I2C_writeBuffer (BSL_TX_buffer、HDR_LEN_CMD_BYTE + CRC_BYTES);
I2C_readBuffer (bsl_RX_buffer、1); <-挂起
如果(i2c_ack!= uart_noError){
TurnOnErrorLED ();

返回(bsl_err);

谢谢。

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

    您好、SY、

    首先、请使用生产样品并使用 SDK 1.10进行测试(主机和目标均可)。 由于 BSL 源代码已经完成一些修改、这可能会导致 连接失败。

    Unknown 说:
    1. 当 MSPM0L1304进入 BSL 后、是否会禁用 NRST 功能进行 I2C 通信?

    实际上、我不知道这个。 它需要验证。

    Unknown 说:
    2. 如果目标处于 BSL 中并且主机进行了硬件调用序列、那么目标是否会再次进入 BSL?

    如果您重置器件、它将再次进入。 如果没有、则不会。

    Unknown 说:
    3.  如何在 BSL 进入睡眠模式时唤醒?

    重新启动器件、无需调用 BSL 硬件。

    Unknown 说:
    此外、主机 无法从空白器件获得 BSL 响应。  [/报价]

    请使用 G 生产样片作为主机、然后重新进行测试。

    B.R.

    萨尔

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

    您好!

    目标是生产样品、主机是客户电路板上的 Rockchip 处理器。

    我只有 EVM 的早期样品。

    主机仅通过 I2C 与 BSL 通信、与生产样片无关。

    问题是目标无法进入 BSL。

    是否可以通过某种方法来了解器件是否已进入 BSL 模式、I2C 通信除外?

      

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

    您好、SY、

    我建议您获取用于主机测试的生产样品 LaunchPad。

    主机仅通过 I2C 与 BSL 通信,与生产样片无关。

    BSL 响应是不同的、所以您应该修改它们。

    您可以参考 SDK 1.10并检查 SDK 0.58来了解差异。 (SDK1.10不用于早期样品、所以您应该修改 SDK 0.58中的代码)。

    是否有办法知道设备是否已进入 BSL 模式,但 I2C 通信除外?

    检查此情况的一种简单方法是在目标中将 GPIO 输出设置为高电平、如果进入 BSL 模式、则不会保持高电平。

    B.R.

    萨尔

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

    您好!  

    首先、我如何才能获得 G 系列的生产样品?

    G 系列的状态为预览。

    TI 是否已经有 G 系列的生产样品?

    不管怎样、 我可以发送电子邮件吗? 我已经知道您的电子邮件。

    需要一个原理图来讨论该问题。

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

    您好、SY、

    首先、我如何才能获得 G 系列的生产样品?

    G 系列的状态为预览。

    TI 是否已经有 G 系列的生产样品?

    [/报价]

    目前不是 TI.com 中的 RTM。 您可以连接 TI 区域办事处以获得进一步的支持。

    不管怎样、 我可以发送电子邮件吗? 我已经知道您的电子邮件。

    需要一个原理图来讨论该问题。

    [/报价]

    当然可以。  这个周末之后、我们可以 讨论 更多有关该主题的内容。

    B.R.

    萨尔

    [/quote]