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.

[参考译文] AM263P4-Q1:如何绕过 SBL 并直接加载自定义引导加载程序。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1384741/am263p4-q1-how-to-bypass-the-sbl-and-directly-load-custom-bootloader

器件型号:AM263P4-Q1

工具与软件:

大家好!

我们正在使用 AM263x 控制器、我们正在开发基于 CAN 的自定义引导加载程序(基于基本 UDS)、该引导加载程序将从十六进制文件中通过 CAN 获取输入、加载到内存并跳转到该特定内核。

但目前有 SBL 在我们每次调试程序时都需要加载程序、在它上电复位后、它不会跳转到任何已刷写的软件、它需要再次连接到目标、然后加载程序。

是否有办法绕过 SBL 并加载我们的自定义引导加载程序、它将在每个上电周期后调用。

感谢先进的、

Shriram Madhavai

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

    尊敬的 Shriram:

    [报价 userid="563430" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1384741/am263p4-q1-how-to-bypass-the-sbl-and-directly-load-custom-bootloader "]我们使用 AM263x 控制器、并正在开发基于 CAN 的定制引导加载程序(基于基准 UDS)、该引导加载程序将从十六进制文件中获取 CAN 输入并加载到内存中并跳转到该特定内核。

    AM263x MCU+ SDK:SBL CAN (TI.com)

    您可以将 SBL CAN 实施参阅为参考。

    [报价用户 id="563430" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1384741/am263p4-q1-how-to-bypass-the-sbl-and-directly-load-custom-bootloader "]

    但目前有 SBL 在我们每次调试程序时都需要加载程序、在它上电复位后、它不会跳转到任何已刷写的软件、它需要再次连接到目标、然后加载程序。

    是否有办法绕过 SBL 并加载我们的自定义引导加载程序、它将在每个上电周期后调用。

    [报价]

    您使用哪种引导模式?

    此外、SBL 是可自定义的、您无需使用默认值。 您可以在此处了解更多 SBL 演示示例: AM263x MCU+ SDK:次级引导加载程序(SBL)(TI.com)

    并制作您自己的 SBL、以满足 RBL 要求。 o

    [quote userid="563430" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1384741/am263p4-q1-how-to-bypass-the-sbl-and-directly-load-custom-bootloader 每次我们对它进行调试并且一旦它上电复位、它就不会跳转到刷写的任何软件、它都需要再次连接到目标并接着加载程序。

    您可以使用 OSPI 引导模式进行调试。 在此示例中  、您将 SBL 和您的应用程序复制到闪存中、当您下次为器件加电时、SBL 将负责加载应用程序。 有关更多详细信息、请参阅 SBL OSPI 引导模式 :AM263x MCU+ SDK:SBL QSPI (TI.com)

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

    您好、

    从上面开始、我了解到我必须加载 SBL_QSPI、基于 CAN 的引导加载程序和应用程序、是这样吗?

    请执行哪些步骤、将应用程序通过 UDS 引导加载程序刷写到外部存储器中、然后 RBL 将调用 QSPI SBL、QSPI SBL 将调用基于 CAN 的引导加载程序、然后我们可以将应用程序刷写到外部存储器中、然后跳转到应用程序、它看起来像这样吗?

    请提供开始开发引导加载程序的正确方法。

    此致、

    Shriram Madhavai

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

    尊敬的 Shriram:

    我对 UDS 不太感兴趣、请允许我在星期四之前回到这里。

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

    尊敬的 Shriram:

    从上面我理解的是、我必须加载 SBL_QSPI、基于 CAN 的引导加载程序和应用程序、是不是这样?

    不需要、您必须将器件置于 QSPI 引导模式、而不是将 SBL QSPI 置于闪存中、因此、一旦 RBL 切换到 SBL、SBL 就可以开始执行。

    [报价 userid="563430" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1384741/am263p4-q1-how-to-bypass-the-sbl-and-directly-load-custom-bootloader/5303124 #5303124"]请执行哪些步骤、将应用程序通过 UDS 引导加载程序刷写到外部存储器、然后 RBL 将调用 QSPI SBL、QSPI SBL 将调用基于 CAN 的引导加载程序、然后我们可以将应用程序刷写到外部存储器、然后跳转到应用程序、如此吗?

    您的设备将处于 SBL QSPI 引导模式。 RBL 将调用 SBL CAN (存在于闪存中)、现在 SBL 可以将应用程序复制到上述示例中的 RAM 中。 UDS 集成将由您完成。

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

    您好、

    感谢快速响应。

    好了、我了解了 CAN SBL 的过程。 使用 CAN SBL 我可以通过 UDS 加载我的应用程序映像。

    然后我转至 SDK 中给出的示例项目、并尝试使用 CCS 工具使用 JTAG 调试器刷写它、现在我得到的是  

    此类错误请帮助我解决此问题、但它仅用于 M4内核、而不适用于 R5。 当我使用 CCS 加载应用时、R5内核正常工作。

    我在这里遗漏了哪些设置、或者是否有其他方式闪存?

    控制器的 M4内核调试方法。

    谢谢。此致、

    Shriram Madhavai

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

    尊敬的 Shriram:

    如何调试控制器的 M4内核。

    M4内核是安全岛的一部分、仅用于安全用途。 您无法使用 CCS 连接/调试它。