工具与软件:
大家好!
我们正在使用 AM263x 控制器、我们正在开发基于 CAN 的自定义引导加载程序(基于基本 UDS)、该引导加载程序将从十六进制文件中通过 CAN 获取输入、加载到内存并跳转到该特定内核。
但目前有 SBL 在我们每次调试程序时都需要加载程序、在它上电复位后、它不会跳转到任何已刷写的软件、它需要再次连接到目标、然后加载程序。
是否有办法绕过 SBL 并加载我们的自定义引导加载程序、它将在每个上电周期后调用。
感谢先进的、
Shriram Madhavai
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.
工具与软件:
大家好!
我们正在使用 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)
您好、 Nilabh Anand
从上面开始、我了解到我必须加载 SBL_QSPI、基于 CAN 的引导加载程序和应用程序、是这样吗?
请执行哪些步骤、将应用程序通过 UDS 引导加载程序刷写到外部存储器中、然后 RBL 将调用 QSPI SBL、QSPI SBL 将调用基于 CAN 的引导加载程序、然后我们可以将应用程序刷写到外部存储器中、然后跳转到应用程序、它看起来像这样吗?
请提供开始开发引导加载程序的正确方法。
此致、
Shriram Madhavai
尊敬的 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 集成将由您完成。
您好、 Nilabh Anand
感谢快速响应。
好了、我了解了 CAN SBL 的过程。 使用 CAN SBL 我可以通过 UDS 加载我的应用程序映像。
然后我转至 SDK 中给出的示例项目、并尝试使用 CCS 工具使用 JTAG 调试器刷写它、现在我得到的是
此类错误请帮助我解决此问题、但它仅用于 M4内核、而不适用于 R5。 当我使用 CCS 加载应用时、R5内核正常工作。
我在这里遗漏了哪些设置、或者是否有其他方式闪存?
控制器的 M4内核调试方法。
谢谢。此致、
Shriram Madhavai