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.

SK-AM62-LP: MCU+ SDK Loading android and FreeRTOS from EMMC

Part Number: SK-AM62-LP
Other Parts Discussed in Thread: UNIFLASH

Tool/software:

Hi,

I am working on bringing up both FreeRTOS and Android (AAOS 14) on the SK-AM62-LP.

  • On the R5 core, I am running the MCAN loopback interrupt example from the MCU+SDK.

  • My requirement is to have both FreeRTOS (on R5) and Android (on A53) booting from eMMC.

So far, I have:

  • Used the configuration file default_sbl_emmc_linux_hs_fs.cfg with Uniflash (in UART boot mode) to flash the FreeRTOS application.

  • Flashed Android images into eMMC as well.

  • Followed the TI documentation here:
    SBL eMMC Linux Multistage Boot Example

When setting the boot device to eMMC boot mode, Android does not come up.

Please provide guidance on how to correctly enable this scenario (FreeRTOS + Android boot from eMMC).

  • Hi  

    Tried the same.

    Flashed Android in eMMC

    I wanted to flash FreeRTOS into EMMC using "--operation=flash-emmc." 

    And both FreeRTOS and Android should boot from eMMC.

    Tried this and FreeRTOS is booted from R5 core successfully, but android is not booting. 

    Result: Boot loop 

    , eth1: ethernet@8000000port@2
    Hit any key to stop autoboot:  2 
    U-Boot SPL 2023.04 (Aug 06 2024 - 14:15:35 +0200)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL initial stack usage: 17048 bytes
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
     
    NOTICE:  BL31: v2.10.0(release):09.02.00.009
    NOTICE:  BL31: Built : 14:15:31, Aug  6 2024
     
    U-Boot SPL 2023.04 (Aug 06 2024 - 14:15:59 +0200)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL initial stack usage: 1904 bytes
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
     
     
    U-Boot 2023.04 (Aug 06 2024 - 14:15:59 +0200)
     
    SoC:   AM62PX SR1.0 HS-FS
    Model: Texas Instruments AM62P5 SK
    DRAM:  2 GiB (effective 8 GiB)
    Core:  80 devices, 30 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from MMC... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   eth0: ethernet@8000000port@1
    Warning: ethernet@8000000port@2 (eth1) using random MAC address - f2:04:a6:15:2f:cd
    , eth1: ethernet@8000000port@2
    Hit any key to stop autoboot:  0 
    Verify GPT: success!
    Loading Android boot partition...
    switch to partitions #0, OK
    mmc0(part 0) is current device
    misc partition number:0x3
    ANDROID: Booting slot: a
    A/B cmdline addition: androidboot.slot_suffix=_a
    Running without AVB...
     
    MMC read: dev # 0, block # 29696, count 81920 ... 81920 blocks read: OK
     
    MMC read: dev # 0, block # 193536, count 65536 ... 65536 blocks read: OK
    Preparing FDT...
      Reading DTB for am62px...
    Working FDT set to 88000000
     
    MMC read: dev # 0, block # 357376, count 16384 ... 16384 blocks read: OK
      Applying DTBOs...
    Running Android...
    ## Booting Android Image at 0x82000000 ...
    Kernel load addr 0x92000000 size 16888 KiB
    Kernel extra command line: androidboot.selinux=enforcing uvcvideo.quirks=128 console=ttyS2,115200 cma=768M 8250.nr_uarts=10 androidboot.lcd_density=213 video=HDMI-A-1:1920x1200@60 printk.deg
    RAM disk load addr 0xe9000000 size 16847 KiB
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
    Working FDT set to 88000000
       Uncompressing Kernel Image
       Loading Ramdisk to 8ef8c000, end 8ffff83a ... OK
       Loading Device Tree to 000000008ef7a000, end 000000008ef8bd18 ... OK
    Working FDT set to 8ef7a000
     
    Starting kernel ...
     
     
    U-Boot SPL 2023.04 (Aug 06 2024 - 14:15:35 +0200)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL initial stack usage: 17048 bytes
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
     
    NOTICE:  BL31: v2.10.0(release):09.02.00.009
    NOTICE:  BL31: Built : 14:15:31, Aug  6 2024
     
    U-Boot SPL 2023.04 (Aug 06 2024 - 14:15:59 +0200)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL initial stack usage: 1904 bytes
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
     
     
    U-Boot 2023.04 (Aug 06 2024 - 14:15:59 +0200)
     
    SoC:   AM62PX SR1.0 HS-FS
    Model: Texas Instruments AM62P5 SK
    DRAM:  2 GiB (effective 8 GiB)
    Core:  80 devices, 30 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from MMC... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   eth0: ethernet@8000000port@1
    Warning: ethernet@8000000port@2 (eth1) using random MAC address - ce:08:2b:70:4f:73
    , eth1: ethernet@8000000port@2
    Hit any key to stop autoboot:  0 
    Verify GPT: success!
    Loading Android boot partition...
    switch to partitions #0, OK
    mmc0(part 0) is current device
    misc partition number:0x3
    ANDROID: Booting slot: a
    A/B cmdline addition: androidboot.slot_suffix=_a
    Running without AVB...
     
    MMC read: dev # 0, block # 29696, count 81920 ... 81920 blocks read: OK
     
    MMC read: dev # 0, block # 193536, count 65536 ...

    Could you please provide steps for flashing both togather.

  • Any input on this ?

  • Hi,

    i never try to to it , i don't know where freertos was flashing in emmc but probably on some android part so it's why it's not booting i need to investigate more.

    Guillaume

  • Any update on this?

  • Hi Shanooj,

    The question is not clear.

    The page below documents the eMMC Partition layout for standard Android boot.
    https://software-dl.ti.com/processor-sdk-android/esd/AM62PX/10_01_01/docs/devices/AM62PX/android/Application_Notes_Partitions.html

    Regards,
    Vishal

  •  

    The question is not clear.

    I am working on bringing up both FreeRTOS and Android (AAOS 14) on the SK-AM62-LP.

    • On the R5 core, I am running the MCAN loopback interrupt example from the MCU+SDK.

    • My requirement is to have both FreeRTOS (on R5) and Android (on A53) booting from eMMC.

    So far, I have:

    • Used the configuration file default_sbl_emmc_linux_hs_fs.cfg with Uniflash (in UART boot mode) to flash the FreeRTOS application.

    • Flashed Android images into eMMC as well.

    • Followed the TI documentation here:
      SBL eMMC Linux Multistage Boot Example

    When setting the boot device to eMMC boot mode, Android does not come up.

    Could you please provide guidance on how to correctly enable this scenario (FreeRTOS + Android boot from eMMC)?

  • Hi  

    any update on this ?

  • Hi Shanooj,

    The default Android SDK boot flow expects eMMC to have only Android binaries (from bootloader to Android file system).
    And the link I gave you earlier shows the eMMC partition and layout for Android SDK.

    We have not tried using the SBL flow (From MCU+ SDK) to boot Android.
    Android is only tested using regular Linux flow (R5 SPL --> A53 SPL --> A53 u-boot --> Linux Kernel)

    When you refer to R5 here, are you refering to MCU R5 or the DM R5?


    Need more explanation on below 2 statements, as they both may expect their own way of partitioning the eMMC.

    • Used the configuration file default_sbl_emmc_linux_hs_fs.cfg with Uniflash (in UART boot mode) to flash the FreeRTOS application.

    • Flashed Android images into eMMC as well.



    Regards,
    Vishal