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.

[参考译文] AM2632:如何在 AM263X 上创建 SAFE_image(使用带有 FreeRTOS 的引导加载程序 API)

Guru**** 2905430 points

Other Parts Discussed in Thread: AM2634, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1579005/am2632-how-to-create-a-safe_image-on-am263x-using-bootloader-api-with-freertos

器件型号:AM2632
主题中讨论的其他器件:AM2634SysConfig

您好、

我有一个包含 AM2634 的 LaunchPad、需要创建 safe_image

safe_image 负责从外部应用程序执行固件更新命令。 基本上、应在 SBL 之后调用 safe_image、这与应用程序映像类似、但它在主应用程序映像之前运行。 safe_image 需要加载并运行存储在闪存中的应用程序映像、就像 SBL 那样。

我的测试:

  1. safe_image:作为 SBL (.tiimage):
    我尝试根据创建 safe_image SBL_QSPI 通过 TI SDK 调整引导加载程序偏移量、将应用程序映像加载到正确的闪存地址。 但是、我无法让它正常工作。
    在本例中为默认值 SBL_QSPI 加载到 0x60000000、SAFE_image (.tiimage) 加载到 0x60080000、应用程序映像加载到 0x600C0000。 在 safe_image sysconfig 中、偏移设置为 0x000C0000。
    预期的行为是 SBL 启动并运行 safe_image、然后 SAFE_image 运行应用程序映像、但这不起作用。

  2. SBL 作为.appimage:
    我还尝试根据创建 SAFE_Image SBL_QSPI 、使用引导加载程序 API、但将其构建为.appimage。 这种方法也不起作用。
    在第二种情况下为默认值 SBL_QSPI 加载位置为 0x60000000、SAFE_image (.appimage) 位于 0x60080000、应用程序映像位于 0x600C0000。 在 SysConfig 中、偏移再次为 0x000C0000。
    预期行为与第一种情况相同。

  3. 带有附加命令的 SBL 默认值:
    我尝试使用默认设置创建 safe_image SBL_QSPI 、但添加了使用 FreeRTOS 的自定义命令、因为我的 safe_image 必须与 freeRTOS 一起运行。
    在此设置中为定制 SBL_QSPI (添加了命令)加载到 0x60000000、引导加载程序偏移量为 0x000C0000。
    预期的行为是自定义 SBL 初始化并运行位于 0x600C0000 的.appimage、但同样地、它没有成功运行。

我有三个问题:

  1. 使用 SBL_QSPI (.tiimage) 对于 AM263x、支持 FreeRTOS? 如果是、如何启用它?

  2. 可以使用吗 引导加载程序 API 在中 应用程序映像 (.appimage) 项目?

  3. 实现此 safe_image 的最佳方法是什么

此致、
Gabriel

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

    您好 Gabriel、

    我认为这是一个冗余线程、

    e2e.ti.com/.../mcu-plus-sdk-am263x-how-to-create-a-safe_image-after-sbl-for-jump-to-appimage

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

    如果您对上一个主题有任何反馈、请告诉我。

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

    您好:Nilabh、

    感谢您的答复。 很抱歉未回复上一个主题。

    我正在考虑对 AM263x 使用引导加载程序 API、因为该 API 验证.appimage 并在相应的内核上运行它。 因此、根据我在 safe_image 中的要求、引导加载程序 API 可能会很有用。 但是、我可以从.appimage 中使用引导加载程序 API 吗?

    关于您的建议、如何使用 SAFE_IMAGE 中的 IVT 来运行闪存中的应用程序?

    谢谢!

    此致、Gabriel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    适用于 AM263x 的引导加载程序 API、因为此 API 验证.appimage 并在相应的内核上运行它。

    是的、您可以使用它。

    但是、我能否从.appimage 中使用引导加载程序 API?

    是的、这是可能的。

    关于您的建议、如何使用 safe_image 中的 IVT 运行闪存中的应用程序?

    则需要首先将应用程序复制到 RAM 中