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.

[参考译文] AM2634:如果闪存中存在引导加载程序和应用程序、如何引导至应用程序?

Guru**** 2465890 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1469301/am2634-if-a-bootloader-and-application-exist-in-flash-how-to-boot-to-the-application

器件型号:AM2634
主题中讨论的其他器件:UNIFLASH

工具与软件:

我使基于 UART 的引导加载程序可以完全正常工作(引导至 UART 引导模式、并将我的应用程序加载到外部闪存)、但我需要使用基于 CAN 的引导加载程序进行现场升级。 当我执行 SBL 时、可以运行闪存示例:

1.在 UART 引导模式下、将 sbl_can_uniflash.release.tiimage 加载到闪存中

2.切换到 QSPI-boot-mode、并将应用程序加载到闪存中

这会成功、应用程序也会运行、但下电上电会将目标重新置于 CAN-BOOT-MODE。 我需要目标引导至此应用程序。

我在其中一个 cfg 文件中看到了这句话、"当发送引导加载程序时、请使 sur 在偏移0x0处闪存。 ROM 期望引导加载程序位于偏移量0x0"处。 这是否意味着 QSPI-ROM-BOOTLOADER 将首先查看闪存地址0以首先加载它、如果没有任何内容、QSPI-ROM-BOOTLOADER 将查看地址0x80000以加载应用程序? 如果是、如何在下电上电后引导至应用?  

您是否建议我:

1.将  sbl_can_uniflash.release.tiimage 和我的应用程序合并到一个映像中? 如果是、是否仍然要求应用程序从0x80000开始、或者如果是一个映像、则整个东西可以从0x0开始?

2.将 sbl_can_uniflash.release.tiimage 和我的应用程序分开、 如果认为加载了有效的映像、则修改 sbl_can_uniflash.release.tiimage 以跳转到0x80000?

谢谢!

吉姆

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

    Jim、您好!

    如果我正确地理解了相关要求、您需要通过 CAN 接收应用、并且在收到应用后、您需要将其存储在闪存中、在复位时从闪存启动?

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

    可以、需要为此提供基于 CAN 的引导加载程序进行现场升级。 我想使用另一个 GPIO、并根据该 GPIO、引导进入 CAN 引导模式、或直接引导至应用程序。  

    谢谢!

    吉姆

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

    Jim、您好!

    [报价 userid="2713" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1469301/am2634-if-a-bootloader-and-application-exist-in-flash-how-to-boot-to-the-application ]]我在其中一个 cfg 文件中看到了这句话:"当发送引导加载程序时、请将 sur 发送到偏移量为0x0的闪存。 ROM 期望引导加载程序位于偏移量0x0"处。 这是否意味着 QSPI-ROM-BOOTLOADER 将首先查看闪存地址0以首先加载它、如果没有任何内容、QSPI-ROM-BOOTLOADER 将查看地址0x80000以加载应用程序? 如果是、如何在下电上电后引导至应用?  [报价]

    0xF0000

    ROM 在0x0处查找 SBL、如果找不到有效的映像、并且启用了冗余引导、则它将查看位置0xF0000、但查找的 SBL 不适用于应用映像。 除非无法引导 SBL 引导应用程序。 因为应用的偏移对于 SBL 是已知的、而对于 ROM 则是如此。

    您可以在 TRM 第5.4.1.1.1节中了解详情