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.

[参考译文] MSP430FR2355:MSP430 BSL 模式 I2C 问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1070483/msp430fr2355-msp430-bsl-mode-i2c-problem

部件号:MSP430FR2355
“线程:测试”中讨论的其它部件

您好,  

我们在 MSP430 bootloader 模式方面遇到了一些问题。

下面是我们的应用程序的一些简要说明。

根据我们的硬件架构,DSP (F2838x 系列)是 I2C 主控器,MSP430是从控器。

在某些情况下,MSP430正在作为 BSL 模式工作,因此我们希望让 DSP 知道 MSP430 BSL 核心命令,以便控制 MSP430 FRAM。

在我们的 DSP I2C 结构中,Rx 数据包长度是一个定义的参数,该参数随命令的不同而变化。

但是,我们发现一些棘手的问题是 MSP430响应数据包的长度会随“Rx 密码前”或“Rx 密码后”的情况而变化。

以核心命令 TX BSL 版本为例。

如果在 Rx 密码解锁后使用此命令,我们将获得5个数据包( CMD+ D1 + D2 + D3 + D4,下面是灰色部分)。

另一方面,如果使用此命令时 Rx 密码被锁定,则我们将获得2字节的核心响应和消息数据,而不是5字节的数据。

在 DSP I2C 中设置的 Rx 数据包长度是为锁定方案预定义的。 这就是我们所期望的8字节 Rx 数据包长度。(Ack + Header + Length1 + Length2 + Core RSP + Core Msg + CKL + CKH)

问题是,  

如果在 Rx 密码解锁后执行 Tx BSL 版本命令两次,

我们第一次能够以一种“停止”和“停止”状态结束完整的通信过程。

第二次,当我们将第二个数据字节写入从属设备时发现通信失败。而 SCL 被 MSP430 I2C 停止。

这是因为我们在仍有一些未发送的字节时断言 nack + stop? 如果是,这是否意味着我们必须读取所有字节,或者 SCL 将被 MSP430 I2C 停止?

对这一机制是否有任何解释?

问题2:  

我们是否有任何方法可以将 BSL 恢复为锁定状态?

谢谢你。

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

    你好,瑞安,

    很抱歉耽误您的响应时间。  让我看看这一点,我很快就会给你一个答案。

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

    你好,瑞安,

    不确定你的状态,但如果你仍然被困,我有一个想法,你可能会看到什么。

    ~引用 userid="497374" url="µ 支持/微控制器/MSP-低功耗微控制器-组/MSP430/f/MSP-低功耗微控制器-论坛/1070483/msp430fr2355-MSP430-BSL-mode-i2c-problem"],如果我们使用此命令并锁定了密码字节,我们将获得数据的核心响应[,而不是2个数据/消息]

    这将表明 BSL 尚未解锁(RX 密码未首先发送),响应将为0x04 = BSL 锁定。

    下一页-

    [引用 userid="497374" url="~ë/support/microcontroller/MSP-low-Power-microcontroller-group/MSP430/f/MSP-low-Power-microcontroller-forum/1070483/msp430fr2355-MSP430-BSL-mode-i2c-problem"],我们第二次发现通信在向从设备写入第二个数据字节时失败,引用的 SCL/被 中断。]

    收到第一 个 TX BSL 版本的数据后,在发送第二个请求之前是否有足够的延迟?

    [引用 userid="497374" url="~ë/support/microcontroller/MSP-low-Power-microcontroller-group/MSP430/f/MSP-low-Power-microcontroller-forum/1070483/msp430fr2355-MSP430-BSL-mode-i2c-problema)]这是因为我们在仍有一些字节未发送时断言 nack + stop? 如果是,这是否意味着我们必须读取所有字节,或者 SCL 将被 MSP430 I2C 停止?

    对于 TX BSL 版本的第二个请求应该相同,因此,您需要等待接收所有字节。

    要将 BSL 恢复为锁定状态,请保持测试针脚低电平并将重置设置为低电平短时间。  然后,您可以在测试和重置引脚序列后重新进入 BSL 模式,也可以通过将重置引脚设置为高电平来执行在内存中编程的代码。

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

    你好,瑞安,

    几天以来,我一直没有听到您的声音,所以我假设您能够解决您的问题。
    我会将此帖子的状态更改为“已解决”,但如果不是这种情况,请单击“这无法解决我的问题”按钮,并使用更多信息回复此主题。
    如果此线程锁定,请单击“询问相关问题”按钮,在新线程中描述您的问题的当前状态以及您可能需要帮助我们解决您的问题的任何其他详细信息。