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.

AM62P: AM62P EVK boot mode

Part Number: AM62P

Hi,
I am working on AM62P EVK board, and having a doubt regarding bootmode DIP switch.
In MCU+SDK documentation I have seen EMMC bootmode pattern :-
Screenshot from 2026-05-27 11-38-52.png

But in android sdk documentation EMMC bootmode selection is shown as: - 
image.png

With the first pattern, I was able to boot the MCU firmware that I flashed (Hello World example). However, when I use the second pattern, Android boots successfully, and the MCU cores seem to be running the IPC RPMsg firmware instead.

Could you please clarify why there are two different eMMC boot mode configurations? Also, how can I boot my flashed Hello World MCU firmware along with Android?

  • Hello Raj,

    So I understand, in the first case you do not boot Android successfully. Is that correct?

    In the first case, I think you have written all the necessary bootloaders on boot partition 0. Because you have configured an eMMC alternate mode, you managed to run Hello World successfully. Where did you locate the Hello World application- boot partition 0 or UDA?

    In the second case you have written the Android image in the UDA area and booted Android in the eMMC UDA filesystem mode. And the Android by default starts the IPC RPMsg application.

    Best Regards,

    Borislav Lazarkov

  • Hi  ,

    So I understand, in the first case you do not boot Android successfully. Is that correct?

    yes. Android doesn't booted successfully.


    Where did you locate the Hello World application- boot partition 0 or UDA?

    I flashed the application with the below mentioned configuration:-

    # When sending bootloader make sure to flash at offset 0x0. ROM expects bootloader at offset 0x0 of eMMC
    --file=sbl_prebuilt/am62px-sk/sbl_emmc_linux_stage1.release.hs_fs.tiimage --operation=flash-emmc --flash-offset=0x0

    # 2nd stage bootloader is flashed at 0x80000 or to whatever offset your bootloader is configured for
    --file=../../examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62px-sk/wkup-r5fss0-0_freertos/ti-arm-clang/sbl_emmc_linux_stage2.release.appimage.hs_fs --operation=flash-emmc --flash-offset=0x80000

    # When sending application image, make sure to flash at offset 0x800000 (default) or to whatever offset your bootloader is configured for
    --file=../../examples/hello_world/am62px-sk/mcu-r5fss0-0_freertos/ti-arm-clang/hello_world.release.appimage.hs_fs --operation=flash-emmc --flash-offset=0x800000




  • # When sending application image, make sure to flash at offset 0x800000 (default) or to whatever offset your bootloader is configured for
    --file=../../examples/hello_world/am62px-sk/mcu-r5fss0-0_freertos/ti-arm-clang/hello_world.release.appimage.hs_fs --operation=flash-emmc --flash-offset=0x800000

    This flashed application is booted by the SBL. Android will have its own procedure, like taking the application images from the filesystem which is the case with Linux, to boot the application on the different cores.

    Basically, you have to follow the Android specific steps for booting a custom MCU application.

  • Hi  ,

    Our requirement is to boot both the MCU firmware and Android from eMMC. The MCU should start running within a few seconds after powering up the SoC, and Android should boot only afterwards.

    But in the approach you mentioned, Android would boot first and then load the MCU firmware, right?

  • But in the approach you mentioned, Android would boot first and then load the MCU firmware, right?

    Yes.

    As mentioned in the following thread, we do not have the support for the SBL + Android boot flow

    e2e.ti.com/.../6341727

  •   

    Which means our requirement may not work with this approach, right?

    Is there any option where, through SBL, I can flash both U-Boot and the MCU firmware, and then U-Boot can continue booting Android afterwards?

  • Is there any option where, through SBL, I can flash both U-Boot and the MCU firmware, and then U-Boot can continue booting Android afterwards?

    The SBL supports booting Linux and boots the MCU core before Linux. The same approach should be possible for Android but as conveyed in the other thread, we have not tested it.

  •  

    After flashing Android, we observed that the MCU is running the IPC/RPMsg example after boot.

    Is Android flashing this firmware into the MCU on every boot, or was it flashed once into a dedicated MCU storage location?
    Or is the MCU firmware being loaded dynamically from the Android filesystem during boot?

  • Or is the MCU firmware being loaded dynamically from the Android filesystem during boot?

    This should be the case. Like Linux, the MCU firmware is probably a part of the filesystem itself and is booted by the Android OS.