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.

[参考译文] MSP430F5659:MSP430从 BSL (引导加载程序)跳转到应用部分

Guru**** 2562120 points
Other Parts Discussed in Thread: MSP430F5659

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/602217/msp430f5659-jumping-of-msp430-from-bsl-boot-strap-loader-to-application-section

器件型号:MSP430F5659

我们修改了现有 TI 为 MSP430F5659提供的自定义 BSL 代码的 BSL 调用序列。 BSL 部分中有一个无限 while 循环、用于检查 BSL 的调用序列。  

但是、即使未执行 BSL 进入序列、BSL 也会跳转到应用部分。 在 cstartup.s43和 api.c 中禁用看门狗。 在其中一个论坛(http://processors.wiki.ti.com/index.php/MSP430_FAQ)中,我们发现以下语句:“根据所有 MSP430上的默认看门狗计时器设置为启动后激活” 这条语句的含义是什么? 由于在 cstartup 和 TI 提供的自定义 BSL 代码的所有其他文件中已禁用看门狗。

在跳转到 Request_BSL 之前,我们已放置此循环以检查 USB 是否已连接 。

Label1:  bit.W #USBBGVBV、&USBPWRCTL
        Jnz P

        JZ Label1

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

    在器件启动时启用看门狗计时器。 已了解在 CSTART 期间关闭看门狗计时器、但在 CSTART 运行之前会检查 BSL 调用。 这是因为 CSTRT 仅在启动应用程序时运行、而不在 BSL 中运行。 由于您在无限循环中等待、因此您很可能会收到看门狗超时。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有任何文档或应用手册解释了 MSP430的引导顺序(代码在通电期间如何启动以及代码如何流动)。 根据我的理解,它首先执行 BSL (2KB)代码,然后移动到闪存区域。 我的理解是否正确?

    谢谢
    优素福
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、当看门狗超时发生时、它如何进入应用程序代码而不是重新启动 BSL 代码。 ?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="S Yousuf Imam">是否有任何说明 MSP430引导顺序(代码在通电期间如何启动以及代码如何流动)的文档或应用手册。 根据我的理解,它首先执行 BSL (2KB)代码,然后移动到闪存区域。 我的理解是否正确?

    [引用 user="S Yousuf Imam">当看门狗超时时时、看门狗如何进入应用程序代码而不是再次重新启动 BSL 代码。 ?[/报价]

    用于 MSP430F5659的 TI USB BSL 是开源的、因此您可以在其中看到所需了解的所有内容。 复位后、如果复位矢量为空(地址0FFFEh 为0FFFFh 值)或按下 PUR 按钮、器件将进入 BSL 模式、否则将启动应用(复位矢量上的地址)。