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.

PROCESSOR-SDK-J721E: TDA4 j721E SBL BOOT: how to boot the a72 u-boot using ti sbl?

Part Number: PROCESSOR-SDK-J721E

Hi, TI experts,

Our platform info:

SoC: J721E

PSDK RTOS version 08_04_00_06

PSDK LINUX version 08_04_00_11

Our board can boot from SD card now(simplified boot flow: 

R5 ROM -> SBL -> boot app ->  lateapp1(mcu2_x),lateapp2(mcu3_x, c6x, c7x), atf, linux image, linux dtb

We are trying  to change the boot flow to:

R5 ROM  -> SBL   -> boot app  ->  A72 u-boot.img

-> after the A72 uboot run,  let a72 uboot load and run mcu2_x, mcu3_1, c6x and c7x, and then boot linux kernel and fs.

if this way goes right? how to make this work on our board? 

Thxs

Yihao

BRs

                                                                          

  • Hi, Xie, 

    Below are my suggestions : `ROM --> R5 SBL --> SPL  --> uboot -->  A72 ATF --> Kernel`

    You need a build a combined image that including the uboot SPL Kernel

    [SDK-0804-TDA4VM-DRA8-1]:~/startJacinto> ll /home/fredy/startJacinto/sdks/ti-processor-sdk-rtos-j721e-evm-08_04_00_06/pdk_jacinto_08_04_00_21/packages/ti/boot/sbl/tools/combined_appimage/bin/j721e_evm/
    total 1032
    drwxr-xr-x 2 fredy fredy   4096 Nov 22 07:27 ./
    drwxr-xr-x 5 fredy fredy   4096 Sep 14 19:12 ../
    -rw-r--r-- 1 fredy fredy  93877 Sep 14 19:12 base-board.dtb
    -rw-rw-r-- 1 fredy fredy 951644 Nov 22 07:27 combined.appimage
    You can refer the  /home/fredy/startJacinto/sdks/ti-processor-sdk-rtos-j721e-evm-08_04_00_06/pdk_jacinto_08_04_00_21/packages/ti/boot/sbl/tools/combined_appimage/config.mk 
    Change the : 
    HLOS_BOOT ?= optimized
    to 
    HLOS_BOOT ?= development 
    Regards,
    Fredy Zhang 
  • Hi, Fredy,

          Thanks for your surpport!

         

          I found some refer note in  pdk_jacinto_08_04_00_21/docs/userguide/jacinto/_sources/boot/boot_k3.txt, should  i fllow it?

    ---->

    #. Modify the sbl/tools/combined_appimage/config.mk file **HLOS_BIN_PATH** var to point to the desired HLOS images to be booted
    #. Modify the **HLOS_BOOT** var in the same file to select "development option (boots to SPL/U-boot) or "optimized" option (boots ATF/OPTEE/Linux)#. Modify the **RTOS_BIN_PATH** var there to point to your RTOS binaries and then list the cores & binaries to be loaded in the vars: IMG1, IMG2, ...
    #. Make the combined.appimage output app using the following make command:

    ::

    make BOARD=<board> GCC_LINUX_ARM_PATH=<path>

    Example:
    cd <sdk_install_path>/pdk_*/packages/ti/boot/sbl/tools/combined_appimage

    make BOARD=<board> GCC_LINUX_ARM_PATH=<sdk_install_path>/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf
    cd bin/<board>

     ls *.appimage

    <----

     

    I change some vars in pdk_jacinto_08_04_00_21/packages/ti/boot/sbl/tools/combined_appimage/config.mk, and build a combine.appimage ($(OPTEE_IMG) $(SPL_IMG) $(ATF_IMG)), without any other rtos image.

     

    what should I do in the next steps? 

     

    I also modify the /pdk_jacinto_08_04_00_21/packages/ti/boot/sbl/sbl_component.mk --> enabe  macro SBL_CFLAGS += -DSBL_ENABLE_HLOS_BOOT

    I want to change the boot  flow to: 

    ROM --> R5 SBL(tiboot3.bin) -->

    -> load and run combine.appimage (and then boot spl uboot kernel. etc)

    -> load and run app(from mcusw, will  deploy autosar) 

    if this will work? 

    Thxs

    yihao

    BRs

  • Yihao, 

    You can follow the steps to try that. Please let me know your result . Thanks. 

    Regards, 

    Fredy Zhang 

  • Hi, Fredy,

    I have tried below ways:

    1.  

    a)  modify pdk_jacinto_08_04_00_21/packages/ti/boot/sbl/sbl_component.mk b/psdkra/pdk_jacinto_08_04_00_21/packages/ti/boot/sbl/sbl_component.mk

    --> enable  SBL_CFLAGS += -DSBL_ENABLE_HLOS_BOOT

    b) modify  vision_apps/makerules/makefile_sbl_combined_appimage.mak

    -->

    +# KERNEL_IMG=load_only,$(QNX_FS_PATH)/qnx-ifs,0x80080000,0x80080000
    +KERNEL_IMG=
    DTB_IMG=
    -SPL_IMG=
    - IMG1=mcu1_0,$(INPUT_IMG_PATH)/vx_app_rtos_qnx_mcu1_0.xer5f
    +# SPL_IMG=
    +SPL_IMG==load_only,$(OUT_DIR)/u-boot-spl.bin,0x80080000,0x80080000
    IMG1=mcu1_0,$(INPUT_IMG_PATH)/vx_app_rtos_linux_mcu1_0.xer5f

    <--

    c)  modify pdk_jacinto_08_04_00_21/packages/ti/boot/sbl/tools/combined_appimage/config.mk

    --> +HLOS_BOOT ?= development

    cd  vision_apps/ and make sbl_combined_bootimage

    and will create a new combined image `app`  (include u-boot-spl, atf, optee, and mcu1_x, mcu2_x, c6x, c7x), using this way can boot into kernel and filesystem.

    2. 

    a)  modify pdk_jacinto_08_04_00_21/packages/ti/boot/sbl/sbl_component.mk b/psdkra/pdk_jacinto_08_04_00_21/packages/ti/boot/sbl/sbl_component.mk

    --> enable  SBL_CFLAGS += -DSBL_ENABLE_HLOS_BOOT

    b)  modify pdk_jacinto_08_04_00_21/packages/ti/boot/sbl/tools/combined_appimage/config.mk

    --> +HLOS_BOOT ?= development

    c) modify  vision_apps/makerules/makefile_sbl_combined_appimage.mak

    -KERNEL_IMG=load_only,$(QNX_FS_PATH)/qnx-ifs,0x80080000,0x80080000
    +# KERNEL_IMG=load_only,$(QNX_FS_PATH)/qnx-ifs,0x80080000,0x80080000
    +KERNEL_IMG=
    DTB_IMG=
    -SPL_IMG=
    - IMG1=mcu1_0,$(INPUT_IMG_PATH)/vx_app_rtos_qnx_mcu1_0.xer5f

    +# SPL_IMG=
    +SPL_IMG=load_only,$(OUT_DIR)/u-boot-spl.bin,0x80080000,0x80080000
    + #IMG1=mcu1_0,$(INPUT_IMG_PATH)/vx_app_rtos_linux_mcu1_0.xer5f

    +  IMG1=mcu1_0,$(INPUT_IMG_PATH)/can_boot_app_mcu_rtos_mcu1_0_release_strip.xer5f,0x41010000,0x41010000

    boot flow may like this: 

    ... --> R5 ROM --> SBL(tiboot3.bin)

    --> 1. bootapp(from mcusw, mask function `BootApp()` ) 

    --> 2. u-boot-spl.bin  -> u-boot.img -> 

    a) mcu2_x, mcu3_x, c6x, c7x

    b) kernel

    this way can boot now by masking the function `BootApp()` in mcusw/.../main_tirtos.c

    thanks for your support!

    yihao

    BRs