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.

[参考译文] MSP430FR2532:在通过 BSL 进行编程并将 REST 矢量地址加载到 PC 后、应用程序不会运行

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1005165/msp430fr2532-application-does-not-run-after-programming-over-bsl-and-load-rest-vector-address-into-pc

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

您好!

我遇到了这样的问题:在 PC 中加载复位矢量地址后、μ µC 不会开始运行应用程序。 通信是通过 UART 进行的。 当我用 RST 引脚复位器件时、一切都正常、但情况不允许我控制这个引脚。 因此、在我完成通过 BSL 下载后、应该可以使用 Load PC 命令并在 PC 中调用复位矢量地址0xFFFE 来复位器件。

当我在调试模式下(使用 IAR EW)停止器件时、在我使用 Load PC 命令后、控制器位于此处(BP 未激活):

我无法通过单击 Go (F5)继续。

当我激活0xFFFE 处的断点时、控制器位于此处:

在我单击 Go (F5)后、应用程序正在运行。

有没有关于控制器不复位的建议? 如果没有 MSP-FET、我在发送 Load PC 命令后从 BSL 获得了 ACK、控制器也不运行应用程序。 我认为这与我首先提到的行为相同。

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

    您好!

    很抱歉耽误你的时间。  您是否找到了权变措施?   

    您如何调用 BSL?   它是通过软件完成的、还是一个定制的 BSL?   

    我不认为您只能将 PC 指向复位矢量。  我认为您需要在器件中创建 PUC。  我想您可以在会导致 PUC 的某个位置加载一个小函数、并将 PC 计数器指向该位置。   

    谢谢、

    JD

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

    您好!

    没问题。 我现在还没有找到权变措施。

    在我的应用程序通过 UART 接收到正确的命令后、我使用以下代码通过软件调用 BSL:

    case command_bootloader:        // "BA" received
        asm("NOP");
        __disable_interrupt();      // disable interrupts 
        ((void ( * )())0x1000)();   // jump to BSL        
        break;

    我在 slau550aa.pdf 的第5页上具有此函数。

    我没有定制 BSL。

    当我将复位矢量地址放置到 PC 时、我认为这正是我运行应用程序的方式? 因为它在第30页的同一 slau550aa.pdf 中进行了说明。