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.

[参考译文] MSP430G2553:为现场MSP430G2553和MSP430FR5872选择正确的BSL协议

Guru**** 2511985 points
Other Parts Discussed in Thread: MSP430FR5872, MSP430G2553

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/615185/msp430g2553-selecting-proper-bsl-protocol-for-msp430g2553-and-msp430fr5872-in-field

部件号:MSP430G2553
主题中讨论的其他部件:MSP430FR5872

MSP430团队您好!

 当与G2553和FR5872一起使用时,确定使用哪种BSL协议的首选方法是什么。  

客户正在开发在主机处理器上运行并与两个处理器(MSP430G2553和MSP430FR5872)进行对话的软件。  主机处理器将切换外部引脚,将两个处理器中的一个置于BSL模式,然后尝试使用适当的BSL UART协议上传新图像。  它们不能在MSP430G2553,MSP430FR5872上加载的应用软件上工作,也不能在这些处理器的自定义BSL上工作。  这些处理器应运行当前加载的应用程序代码  

例如

该草案的2.03 协议要求有一个2部分的事务。

发送同步:0x80

获取确认:0x90

发送更改波特率:0x80,0x20,0x04,0x04,0x80, 0x8C,0x02,0x00,0xF9,0x57

获取确认:0x90

而是发送此有效的V7协议消息:

0x80,0x02,0x00,0x52,0x04, 0xxx,0xxx

如果将该字节串发送到BSL (该BSL预期为2部分事务),则保证会发生什么情况?

第一个额外字节是因为它只期望0x80字节而触发NAK,还是BSL摄取整个数据包?  我会获得多个NAK吗?  在尝试发送另一个命令之前,是否需要等待一段时间?

问题摘要:

软件需要与两个处理器通信(不同的BSL协议)。  我每次都想尝试使用一个协议进行通话。  如果我偶然以正确的协议开始,一切都将顺利进行。  如果我从错误的协议开始,我需要能够检测到它并更改我的状态机。  

问题:

是否有一个我应该以其开头的未受保护的核心命令?

是否最好先尝试一个BSL协议而不是另一个?

处理器的BSL是否总是发送NAK类型的响应,或者我是否等待'X'一段时间才没有响应并假定我应该使用另一个协议?

我非常感谢对这种情况提出任何建议。 感谢您的参与和支持。

此致,

Kishen

 

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

    这是一个奇怪的情景。 我的第一个问题是,两个UART接口不是在单独的UART行中? 这将是区分他们的最简单的方法。 只能使用一个协议作为正确的物理接口。 UART线路通常不在多个器件(如SPI和I2C)之间共享。

    就协议的差异而言,我看到了两个可以利用的主要差异。G2553上的BSL要求在发送额外字节之前发送0x80,它返回一个0x90是一个ACK。 MSP430FR5872设备上的BSL需要0x80标头作为命令字符串的一部分,并且如果命令被接受且没有错误,则会在每个响应字符串的开头收到0x00 ACK标头。 可以发送较新的格式,并检查ACK是否为0x00 (或其它错误代码)。 如果不是,则重置设备并切换到其他BSL协议(确保在重置后再次调用BSL)。 或者,您可以自行发送0x80,并查看您是否在合理的时间内收到0x90 ACK。 否则,重置并切换到其他协议。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Jace:

    感谢您的支持。 我真的很感激。

    对于初始查询,他们目前正在使用的软件可以在现有G2553部件上执行BSL流程。 他们设计了一款新的主板,其应用程序在新的FR5872上运行。 客户正在使用安装在这两种硬件设计和其他产品上的模块。 该模块使用相同的BSL UART引脚与所有客户应用处理器进行通信。

    因此,客户可以发送命令并等待响应。 由于没有指定响应延迟,因此它们可以弥补等待时间。 如果他们没有得到响应,请尝试另一个协议?

    感谢你能抽出时间。

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

    这是我目前的猜测。 正如您所说,这些BSLS没有指定的响应时间规格。