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.

[参考译文] MSP430F5249:基于 UART 的 BSL Scripter 变为错误

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/730833/msp430f5249-bsl-scripter-over-uart-going-wrong

器件型号:MSP430F5249
主题中讨论的其他器件: MSP-FET

您好!

最近、我在通过 UART 使用 BSL Scripter 将程序刷写到 MSP430F5249上时遇到了问题。

我有一个 bash 脚本、用于创建 BSL 进入序列、然后调用 BSL 脚本程序。 下面是我的条目序列代码:

函数 generateBSLEntrySequence
{
#最初将 RST 和 TST 设定为低电平
setLow $TST_PIN
setLow $RST_PIN

#切换 TST
Sleep $OnePeriod
setHigh $TST_PIN
Sleep $OnePeriod
setLow $TST_PIN

将 TST 设置为高电平
Sleep $OnePeriod
setHigh $TST_PIN

#SET RST 高电平
睡眠$HalfPeriod
setHigh $RST_PIN

将 TST 置为低电平
睡眠$HalfPeriod
setLow $TST_PIN
} 

这里、TST_PIN 和 RST_PIN 是已导出的 GPIO。 OnePeriod=0.1和 HalfPeriod=0.05

由于这是在 bash 中,因此这些周期以秒为单位。 我担心这些价值观是否太大。

BSL 用户指南指出 、TEST 引脚的第一个高电平必须至少为 tSBW、En。 查看数据表 tSBW、en 的最大值为1µs μ V。

这是否意味着 TEST 引脚至少1µs μ s 或最大1µs μ s 处于高电平?

此脚本以前工作过、但出现了问题、因为程序无法按预期工作、并且未进行任何更改。

我在运行 BSL 后执行微控制器复位。

有人可以提供帮助吗? 我的脚本有什么问题吗?

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

    我刚刚在这个主题中对这个 tSBW、EN 问题做出了裁决:

    https://e2e.ti.com/support/microcontrollers/f/166/t/730337

    答案是测试时的正脉冲需要是数据表 tSBW、EN 最大值的最小值、但没有最大脉冲周期。  旧 BSLDEMO 程序和火箭硬件器件等 TI 产品的范围为110us 至15ms。  因此、您的值肯定比您需要的时间长、但如果没有最大值、理论上无关紧要。

    但我对你的发言非常感兴趣、认为这以前对你有用。  您能告诉我您使用什么硬件连接到 F5249吗?  名义上、Scripter 需要一个 Rocket、一个 MSP-FET、或者一个 Launchpad 和 G2231设置、如 slaa535a.pdf 中所述。  如果您发现另一个设置有效、我很感激您能了解它。   我已经尝试使用 CP2102 USB 转串行适配器、生成调用序列、然后运行脚本、但脚本解释器所做的第一件事是将 DTR 置为低电平、并将其保持在那里。  因此、目标芯片处于永久复位状态、当然不会发生闪存。  我希望您已经找到了解决这个问题的方法、并将与您分享。

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

    我们有两个 GPIO 连接到 TST 和 RST 引脚、还有一个 UART 连接到 MSP430。

    用于澄清 tSBW、EN 的存储罐。 我的脚本应该起作用。

    BSL Scripter 是否需要任何特殊权限才能在 Linux 平台上运行? 它可能需要写入访问权限或类似的内容?

     

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

    我不知道 Linux 权限。

    您使用的是具有 GPIO 引脚的什么器件?

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

    我发现在 MAS_ERASE 之后 RX_DATA_BLOCK 没有成功。 因此我尝试执行两个 RX_DATA_BLOCK 命令、发现这是有效的!

    因此、您可以假设 RX_DATA_BLOCK 将始终成功。 您必须检查写入的数据是否实际是发送的数据。 不是很理想!

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

    抱歉、我应该说"您不能假定 RX_DATA_BLOCK 总是成功的。"

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

    您的问题是否已解决? 如果是、请将解决您的答案的主题标记为"已解决"。

    谢谢、
    Andre