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.

[参考译文] LP-MSPM0L1306:如何在成功完成定制 BSL 之后启动主应用程序

Guru**** 2436810 points
Other Parts Discussed in Thread: MSPM0L1306

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1331789/lp-mspm0l1306-how-to-start-the-main-application-after-a-successful-custom-bsl

器件型号:LP-MSPM0L1306
主题中讨论的其他器件:MSPM0L1306

尊敬的 Champs:

定制 BSL:我使用名为"secondary_BSL_UART_LP_MSPM0L1306 _nortos_ticlang"的示例工程

主应用程序:我使用一个名为"GPIO_software_poll_lp_MSPM0L1306_nortos_ticlang"的简单示例项目

情形1:

使项目保持原样。 我可以成功加载和启动从闪存中的0x0000 0000处启动的主应用程序。 BSL 通过 POR 启动主应用程序。

情形2:

现在、我要将自定义 BSL 移动到0x0000 0000、并将主应用程序移动到0x0000 2000。 如何在成功加载引导后启动主应用程序? (现在、POR 将启动定制 BSL、因为它位于0x0000 0000。)


此致、

K·阮

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

    尊敬的 Kien:

    您可以直接调用 Jump to MCU 的函数、让 MCU 跳转到应用代码的复位处理程序:以下是您的参考的示例。

    /*强制执行复位处理程序例程*/
    AppStartAddress =*(__IO uint32_t *)(NVIC_APP_VectorAddress + 4);
    ((void (*)(void)) AppStartAddress)();

    如果设置应用代码从 0x00002000开始、则 NVIC_APP_VectorAddress 应设置为 0x00002000。

    请注意、如果您想要使应用代码中断正常工作、则应首先为中断表地址设置 SCB->VTOR、然后启用应用代码中断。

    B.R.

    萨尔

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

    大家好、Sal、

    非常感谢您的回复。

    此致、

    K·阮

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

    尊敬的 Kien:

    当然、我会关闭该主题、如果您有任何其他问题、请随时在该主题中进行回复或提交新主题。

    B.R.

    萨尔