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.
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 :
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