Tool/software:
Hi TI experts:
As the title describe above, we want to boot our board from eMMC with SBL faclon mode, Our sdk version is 10.0 or 9.2. How to set it? Thanks!
Best regards!
Hawayi
Tool/software:
Hi TI experts:
As the title describe above, we want to boot our board from eMMC with SBL faclon mode, Our sdk version is 10.0 or 9.2. How to set it? Thanks!
Best regards!
Hawayi
Hello,
Please refer to the following SBL_EMMC_LINUX bootloader designed to boot Linux with or without Falcon boot:
Regards,
Prashant
I don't known how to flash kernel and rootfs to the user area of eMMC,the offset is boot0 or user partition?
The MCU+ SDK supports booting from BOOT0 partition only. So, those are the offsets in the BOOT0 partition.
If the area of BOOT0 partition isn't enough, is there any solution?
There is eMMC UDA partition but the MCU+ SDK does not support booting from it at least officially.
If required, you could modify the following API in the Bootloader MMCSD driver to load the images from the partitions in which they are flashed:
BR, Prashant
Hi,Prashant:
The falcon mode boot from eMMC fail too, although the area of BOOT0 partition is 32MB, the logs show as below. What's focus about the message error?
SYSFW Firmware Version 10.0.8--v10.00.08 (Fiery Fox)
SYSFW Firmware revision 0xa
SYSFW ABI revision 4.0
ERROR: Bootloader_verifyMulticoreImage:660: Failed to authenticate Image
ERROR: Bootloader_verifyMulticoreImage:660: Failed to authenticate Image
[BOOTLOADER_PROFILE] Boot Media : eMMC
[BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz
[BOOTLOADER_PROFILE] Boot Image Size : 0 KB
[BOOTLOADER_PROFILE] Cores present :
[BOOTLOADER PROFILE] System_init : 29544us
[BOOTLOADER PROFILE] Board_init : 0us
[BOOTLOADER PROFILE] Drivers_open : 140569us
[BOOTLOADER PROFILE] Board_driversOpen : 0us
[BOOTLOADER PROFILE] Sciclient Get Version : 10169us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 180283us
Image loading done, switching to application ...
Starting MCU-r5f and 2nd stage bootloader
DM image not loaded
#!/bin/sh # Enable boot0 write flag echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=tiboot3.bin of=/dev/mmcblk0boot0 dd if=bl2.bin of=/dev/mmcblk0boot0 seek=1024 dd if=dm_r5_image of=/dev/mmcblk0boot0 seek=1536 dd if=hsm.bin of=/dev/mmcblk0boot0 seek=4608 dd if=u-boot.img of=/dev/mmcblk0boot0 seek=5120 dd if=mcu_r5_image of=/dev/mmcblk0boot0 seek=16384 dd if=c7x_image of=/dev/mmcblk0boot0 seek=20480 dd if=linux_a53_image of=/dev/mmcblk0boot0 seek=36864 # Disable boot0 write flag echo 1 > /sys/block/mmcblk0boot0/force_ro
Hi,Prashant:
After I rebuild the image and flash it again, the log show below, stop at the last line.Attached file is the flash script.
[2025-03-31 18:54:28] root@am62axx-evm:/run/media/BOOT-mmcblk1p1/out# ./burn.sh
[2025-03-31 18:54:29] 530+1 records in
[2025-03-31 18:54:29] 530+1 records out
[2025-03-31 18:54:29] 271591 bytes (265.2KB) copied, 0.042235 seconds, 6.1MB/s
[2025-03-31 18:54:29] 228+1 records in
[2025-03-31 18:54:29] 228+1 records out
[2025-03-31 18:54:29] 117010 bytes (114.3KB) copied, 0.023858 seconds, 4.7MB/s
[2025-03-31 18:54:29] 324+1 records in
[2025-03-31 18:54:29] 324+1 records out
[2025-03-31 18:54:29] 166062 bytes (162.2KB) copied, 0.026961 seconds, 5.9MB/s
[2025-03-31 18:54:29] 18+1 records in
[2025-03-31 18:54:29] 18+1 records out
[2025-03-31 18:54:29] 9677 bytes (9.5KB) copied, 0.008712 seconds, 1.1MB/s
[2025-03-31 18:54:29] 2296+1 records in
[2025-03-31 18:54:29] 2296+1 records out
[2025-03-31 18:54:29] 1175611 bytes (1.1MB) copied, 0.165477 seconds, 6.8MB/s
[2025-03-31 18:54:29] 103+1 records in
[2025-03-31 18:54:29] 103+1 records out
[2025-03-31 18:54:29] 52766 bytes (51.5KB) copied, 0.014480 seconds, 3.5MB/s
[2025-03-31 18:54:29] 298+1 records in
[2025-03-31 18:54:29] 298+1 records out
[2025-03-31 18:54:29] 152926 bytes (149.3KB) copied, 0.025546 seconds, 5.7MB/s
[2025-03-31 18:54:32] 41318+1 records in
[2025-03-31 18:54:32] 41318+1 records out
[2025-03-31 18:54:32] 21155255 bytes (20.2MB) copied, 2.624117 seconds, 7.7MB/s
[2025-03-31 18:54:40] root@am62axx-evm:/run/media/BOOT-mmcblk1p1/out# cd /
[2025-03-31 18:54:41] root@am62axx-evm:/# sync
[2025-03-31 18:54:41] root@am62axx-evm:/#
[2025-03-31 18:54:54] SYSFW Firmware Version 10.0.8--v10.00.08 (Fiery Fox)
[2025-03-31 18:54:54] SYSFW Firmware revision 0xa
[2025-03-31 18:54:54] SYSFW ABI revision 4.0
[2025-03-31 18:54:29]
[2025-03-31 18:54:54] [BOOTLOADER_PROFILE] Boot Media : eMMC
[2025-03-31 18:54:54] [BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz
[2025-03-31 18:54:54] [BOOTLOADER_PROFILE] Boot Image Size : 162 KB
[2025-03-31 18:54:54] [BOOTLOADER_PROFILE] Cores present :
[2025-03-31 18:54:54] mcu-r5f0-0
[2025-03-31 18:54:54] r5f0-0
[2025-03-31 18:54:54] [BOOTLOADER PROFILE] System_init : 25587us
[2025-03-31 18:54:54] [BOOTLOADER PROFILE] Board_init : 0us
[2025-03-31 18:54:54] [BOOTLOADER PROFILE] Drivers_open : 83393us
[2025-03-31 18:54:54] [BOOTLOADER PROFILE] Board_driversOpen : 0us
[2025-03-31 18:54:54] [BOOTLOADER PROFILE] Sciclient Get Version : 10170us
[2025-03-31 18:54:54] [BOOTLOADER PROFILE] MCU R5 Image Load : 3415us
[2025-03-31 18:54:54] [BOOTLOADER PROFILE] DM R5 Image Load : 4608us
[2025-03-31 18:54:54] [BOOTLOADER_PROFILE] SBL Total Time Taken : 127175us
[2025-03-31 18:54:32]
[2025-03-31 18:54:54] Image loading done, switching to application ...
[2025-03-31 18:54:54] Starting MCU-r5f and 2nd stage bootloader
[2025-03-31 18:54:41]
[2025-03-31 18:54:54] SYSFW Firmware Version 10.0.8--v10.00.08 (Fiery Fox)
[2025-03-31 18:54:54] SYSFW Firmware revision 0xa
[2025-03-31 18:54:54] SYSFW ABI revision 4.0
[2025-03-31 18:54:29]
[2025-03-31 18:54:54] [BOOTLOADER_PROFILE] Boot Media : eMMC
[2025-03-31 18:54:54] [BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz
[2025-03-31 18:54:54] [BOOTLOADER_PROFILE] Boot Image Size : 20973 KB
[2025-03-31 18:54:54] [BOOTLOADER_PROFILE] Cores present :
[2025-03-31 18:54:54] hsm-m4f0-0
[2025-03-31 18:54:54] r5f0-0
[2025-03-31 18:54:54] a530-0
[2025-03-31 18:54:54] c75ss0
[2025-03-31 18:54:55] [BOOTLOADER PROFILE] System_init : 1677us
[2025-03-31 18:54:55] [BOOTLOADER PROFILE] Board_init : 0us
[2025-03-31 18:54:55] [BOOTLOADER PROFILE] Drivers_open : 21713us
[2025-03-31 18:54:55] [BOOTLOADER PROFILE] Board_driversOpen : 0us
[2025-03-31 18:54:55] [BOOTLOADER PROFILE] Sciclient Get Version : 10269us
[2025-03-31 18:54:55] [BOOTLOADER PROFILE] HSM Image Load : 2470us
[2025-03-31 18:54:55] [BOOTLOADER PROFILE] DM R5 Image Load : 5267us
[2025-03-31 18:54:55] [BOOTLOADER PROFILE] A53 Image Load : 392782us
[2025-03-31 18:54:55] [BOOTLOADER PROFILE] DSP Image Load : 11703us
[2025-03-31 18:54:55] [BOOTLOADER_PROFILE] SBL Total Time Taken : 445886us
[2025-03-31 18:54:54]
[2025-03-31 18:54:55] Image loading done, switching to application ...
[2025-03-31 18:54:55] Starting linux and RTOS/Baremetal applications
[2025-03-31 18:54:55] NOTICE: BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
[2025-03-31 18:54:55] NOTICE: BL31: Built : 16:09:05, Feb 9 2024
Regards,
Hawayi
[2025-03-31 18:54:32] 41318+1 records in
[2025-03-31 18:54:32] 41318+1 records out
[2025-03-31 18:54:32] 21155255 bytes (20.2MB) copied, 2.624117 seconds, 7.7MB/s
This is not possible if the eMMC boot partition size is 32MB. The Linux Appimage is of size ~20MB and is flashed at offset 0x1200000 (18MB). So, the leftover space (14MB) would not be enough.
Is your eMMC boot partition size larger than 32MB?
Is your eMMC boot partition size larger than 32MB?
==>No. I have changed the offset of related images to make sure the area is enough(examples/drivers/boot/sbl_emmc_multistage/sbl_emmc_stage2/am62ax-sk/r5fss0-0_nortos/example.syscfg), and I don't think that is the root case.
examples/drivers/boot/sbl_emmc_multistage/sbl_emmc_stage2
Please use the SBL_EMMC_LINUX_MULTISTAGE bootloader for booting Linux:
software-dl.ti.com/.../EXAMPLES_DRIVERS_SBL_EMMC_LINUX_MULTISTAGE.html
In the previous threads, you have the SBL Falcon boot working from SD card. Are you using the same working Linux Appimage for eMMC boot as well?
I would expect you to have everything same except using SBL_EMMC_LINUX_MULTISTAGE instead of the SBL_SD bootloader.
Yes, Linux Appimage is the same. the follow boot from eMMC is different from SD. Could you have a try on EVM?
Here are the successful logs from the EVM:
[18:23:44.983] SYSFW Firmware Version 10.0.8--v10.00.08 (Fiery Fox) [18:23:44.992] SYSFW Firmware revision 0xa [18:23:44.998] SYSFW ABI revision 4.0 [18:23:45.014] [BOOTLOADER_PROFILE] Boot Media : eMMC [18:23:45.017] [BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz [18:23:45.021] [BOOTLOADER_PROFILE] Boot Image Size : 134 KB [18:23:45.025] [BOOTLOADER_PROFILE] Cores present : [18:23:45.032] r5f0-0 [18:23:45.032] [BOOTLOADER PROFILE] System_init : 37970us [18:23:45.037] [BOOTLOADER PROFILE] Board_init : 0us [18:23:45.043] [BOOTLOADER PROFILE] Drivers_open : 19613us [18:23:45.050] [BOOTLOADER PROFILE] Board_driversOpen : 0us [18:23:45.055] [BOOTLOADER PROFILE] Sciclient Get Version : 10376us [18:23:45.065] [BOOTLOADER PROFILE] DM R5 Image Load : 13520us [18:23:45.069] [BOOTLOADER_PROFILE] SBL Total Time Taken : 81480us [18:23:45.079] Image loading done, switching to application ... [18:23:45.082] Starting MCU-r5f and 2nd stage bootloader [18:23:45.110] SYSFW Firmware Version 10.0.8--v10.00.08 (Fiery Fox) [18:23:45.114] SYSFW Firmware revision 0xa [18:23:45.116] SYSFW ABI revision 4.0 [18:23:45.687] [BOOTLOADER_PROFILE] Boot Media : eMMC [18:23:45.697] [BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz [18:23:45.702] [BOOTLOADER_PROFILE] Boot Image Size : 21052 KB [18:23:45.705] [BOOTLOADER_PROFILE] Cores present : [18:23:45.708] hsm-m4f0-0 [18:23:45.709] r5f0-0 [18:23:45.710] a530-0 [18:23:45.710] c75ss0 [18:23:45.711] [BOOTLOADER PROFILE] System_init : 1746us [18:23:45.719] [BOOTLOADER PROFILE] Board_init : 0us [18:23:45.724] [BOOTLOADER PROFILE] Drivers_open : 19587us [18:23:45.729] [BOOTLOADER PROFILE] Board_driversOpen : 1us [18:23:45.737] [BOOTLOADER PROFILE] Sciclient Get Version : 10396us [18:23:45.741] [BOOTLOADER PROFILE] HSM Image Load : 5453us [18:23:45.752] [BOOTLOADER PROFILE] DM R5 Image Load : 11151us [18:23:45.756] [BOOTLOADER PROFILE] A53 Image Load : 533776us [18:23:45.760] [BOOTLOADER PROFILE] DSP Image Load : 15505us [18:23:45.770] [BOOTLOADER_PROFILE] SBL Total Time Taken : 597618us [18:23:45.774] Image loading done, switching to application ... [18:23:45.783] Starting linux and RTOS/Baremetal applications [18:23:45.786] NOTICE: BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty [18:23:45.800] NOTICE: BL31: Built : 16:09:05, Feb 9 2024 [18:23:46.230] [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [18:23:46.235] [ 0.000000] Linux version 6.6.32-ti-gdb8871293143-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240620) #1 SMP PREEMPT Thu Aug 1 19:10:56 UTC 2024 [18:23:46.255] [ 0.000000] KASLR disabled due to lack of seed [18:23:46.265] [ 0.000000] Machine model: Texas Instruments AM62A7 SK
If it helps, the following changes were done:
diff --git a/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage1/am62ax-sk/r5fss0-0_nortos/example.syscfg b/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage1/am62ax-sk/r5fss0-0_nortos/example.syscfg index 7bb9f80..3e02307 100644 --- a/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage1/am62ax-sk/r5fss0-0_nortos/example.syscfg +++ b/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage1/am62ax-sk/r5fss0-0_nortos/example.syscfg @@ -36,7 +36,7 @@ const mpu_armv79 = mpu_armv7.addInstance(); */ bootloader1.bootMedia = "EMMC"; bootloader1.$name = "CONFIG_BOOTLOADER_EMMC_MCU"; -bootloader1.EMMCAppImageOffset = "0x800000"; +bootloader1.EMMCAppImageOffset = "0x600000"; bootloader2.bootMedia = "EMMC"; bootloader2.$name = "CONFIG_BOOTLOADER_EMMC_SBL"; diff --git a/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62ax-sk/r5fss0-0_nortos/example.syscfg b/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62ax-sk/r5fss0-0_nortos/example.syscfg index 5c3ab16..16f993a 100644 --- a/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62ax-sk/r5fss0-0_nortos/example.syscfg +++ b/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62ax-sk/r5fss0-0_nortos/example.syscfg @@ -33,12 +33,12 @@ bootloader2.EMMCAppImageOffset = "0xC0000"; bootloader3.$name = "CONFIG_BOOTLOADER_EMMC_LINUX"; bootloader3.appImageOffset = "0xC00000"; bootloader3.bootMedia = "EMMC"; -bootloader3.EMMCAppImageOffset = "0x1200000"; +bootloader3.EMMCAppImageOffset = "0x800000"; bootloader4.$name = "CONFIG_BOOTLOADER_EMMC_DSP"; bootloader4.appImageOffset = "0x1000000"; bootloader4.bootMedia = "EMMC"; -bootloader4.EMMCAppImageOffset = "0xA00000"; +bootloader4.EMMCAppImageOffset = "0x700000"; mmcsd1.$name = "CONFIG_MMCSD0"; bootloader1.MMCSDDriver = mmcsd1;
Hi,Prashant:
After I patch your syscfg and test again, the kernel log looks like normally. Thanks for your help!SYSFW Firmware Version 10.0.8--v10.00.08 (Fiery Fox)
SYSFW Firmware revision 0xa
SYSFW ABI revision 4.0
[BOOTLOADER_PROFILE] Boot Media : eMMC
[BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz
[BOOTLOADER_PROFILE] Boot Image Size : 162 KB
[BOOTLOADER_PROFILE] Cores present :
mcu-r5f0-0
r5f0-0
[BOOTLOADER PROFILE] System_init : 25669us
[BOOTLOADER PROFILE] Board_init : 0us
[BOOTLOADER PROFILE] Drivers_open : 42851us
[BOOTLOADER PROFILE] Board_driversOpen : 0us
[BOOTLOADER PROFILE] Sciclient Get Version : 10184us
[BOOTLOADER PROFILE] MCU R5 Image Load : 3441us
[BOOTLOADER PROFILE] DM R5 Image Load : 4614us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 86762us
Image loading done, switching to application ...
Starting MCU-r5f and 2nd stage bootloader
SYSFW Firmware Version 10.0.8--v10.00.08 (Fiery Fox)
SYSFW Firmware revision 0xa
SYSFW ABI revision 4.0
[BOOTLOADER_PROFILE] Boot Media : eMMC
[BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz
[BOOTLOADER_PROFILE] Boot Image Size : 20973 KB
[BOOTLOADER_PROFILE] Cores present :
hsm-m4f0-0
r5f0-0
a530-0
c75ss0
[BOOTLOADER PROFILE] System_init : 1691us
[BOOTLOADER PROFILE] Board_init : 0us
[BOOTLOADER PROFILE] Drivers_open : 21717us
[BOOTLOADER PROFILE] Board_driversOpen : 0us
[BOOTLOADER PROFILE] Sciclient Get Version : 10245us
[BOOTLOADER PROFILE] HSM Image Load : 2478us
[BOOTLOADER PROFILE] DM R5 Image Load : 5309us
[BOOTLOADER PROFILE] A53 Image Load : 392786us
[BOOTLOADER PROFILE] DSP Image Load : 11750us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 445979us
Image loading done, switching to application ...
Starting linux and RTOS/Baremetal applications
NOTICE: BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
NOTICE: BL31: Built : 16:09:05, Feb 9 2024
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.6.32-ti-gdb8871293143-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240620) #1 SMP PREEMPT Thu Aug 1 19:10:56 UTC 2024
[ 0.000000] KASLR disabled due to lack of seed
[ 0.000000] Machine model: Texas Instruments AM62A7 SK
[ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[ 0.000000] printk: bootconsole [ns16550a0] enabled