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: how to bypass the SBL and directly load custom bootloader.

Part Number: AM263P4-Q1

Tool/software:

Hi All,

We are using AM263x controller and in that we are on developing the custom CAN based bootloader (Basically UDS based) which will take the input over can from hex file and load into the memory and jump to the that particular core.

but currently there is SBL which will need to load the program every time once we debug it and once it is power ON reset then it is not jumping to the whatever software is flashed it need to again connect to the target and then Load program.

Is there any way to bypass the SBL and load Our Custom bootloader and it will invoke after every Power ON cycle.

Thanks in advanced,

Shriram Madhavai

  • Hi Shriram,

    We are using AM263x controller and in that we are on developing the custom CAN based bootloader (Basically UDS based) which will take the input over can from hex file and load into the memory and jump to the that particular core.

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

    You can refer to SBL CAN implementation as a reference.

    but currently there is SBL which will need to load the program every time once we debug it and once it is power ON reset then it is not jumping to the whatever software is flashed it need to again connect to the target and then Load program.

    Is there any way to bypass the SBL and load Our Custom bootloader and it will invoke after every Power ON cycle.

    Which boot mode are you using?

    Also SBL is customizable, you need not use the default ones. You can explore more SBL demo examples here : AM263x MCU+ SDK: Secondary Bootloader (SBL) (ti.com)

    and make your own SBL which adhers to RBL requirements. O

    every time once we debug it and once it is power ON reset then it is not jumping to the whatever software is flashed it need to again connect to the target and then Load program.

    You can use use OSPI boot mode for debugging. In this example  you copy SBL and your application in flash, when you power on device next time the SBL will take care of loading the application. Refer to SBL OSPI boot mode for more details on it: AM263x MCU+ SDK: SBL QSPI (ti.com)

  • Hi

    From above what i understand is that i have to load the SBL_QSPI, CAN based bootloader and application, Is it like that?

    Please what is the steps to be perform for the application to e flashed via UDS Bootloader in to the external memory and then, RBL will invoke the QSPI SBL and the QSPI SBL will invoke the CAN based bootloader and then we can flash the application into external memory and then jump to the application is it like this?

    please provide the correct way to start with the bootloader development.

    Regards,

    Shriram Madhavai

  • Hi Shriram,

    I am not so fimiliar with UDS, allow me to get back here by thursday.

  • Hi Shriram,

    From above what i understand is that i have to load the SBL_QSPI, CAN based bootloader and application, Is it like that?

    No, You have to put the device in QSPI boot mode and instead of SBL QSPI, put SBL CAN in flash, So, that once the RBL handovers to SBL, your SBL CAN will start execution.

    Please what is the steps to be perform for the application to e flashed via UDS Bootloader in to the external memory and then, RBL will invoke the QSPI SBL and the QSPI SBL will invoke the CAN based bootloader and then we can flash the application into external memory and then jump to the application is it like this?

    Your device will be in SBL QSPI boot mode . RBL will invoke SBL CAN (which is present in flash), now SBL CAN copies the application into RAM in the above example. UDS integration will need to be done by you.

  • Hi

    Thanks for the quick response.

    Okay i understand the process for the CAN SBL. Using CAN SBL i can load my application image via UDS .

    Then i went to the Example project given in SDK and trying to Flash it using JTAG Debugger Using CCS tool so i am getting 

    This type of error please help me out how to resolve this but it is coming for only M4 core not for R5. R5 core are working when i load the application using CCS.

    Is there any setting which i am missing out here or is there any other way to flash.

    How to debug the M4 core of the controller.

    Thanks and Regards,

    Shriram Madhavai

  • Hi Shriram,

    How to debug the M4 core of the controller.

    M4 core is part of security island, it is only intended for security usage. You cannot connect/debug to it using CCS.