Other Parts Discussed in Thread: UNIFLASH
Tool/software:
1. download MCU+ SDK and build
2. cd tool/boot/HSMAppimageGen; make -s BOARD=am62px-sk all
3. cd tool/boot/linuxAppimageGen; make -s BOARD=am62px-sk allscreenshot-20241217-112320.png FALCON_MODE=1
4. Hardware modification to uart boot mode,then execute the following script:
python uart_bootloader.py -p COM19 --cfg=sbl_prebuilt/am62px-sk/default_sbl_uart_hs_fs.cfg
python uart_uniflash.py -p COM19 --cfg=sbl_prebuilt/am62px-sk/default_sbl_emmc_linux_hs_fs.cfg
5. After burning is completed,change to EMMC boot mode
6. The startup log is as follows:
[BOOTLOADER_PROFILE] Boot Media : eMMC [BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz [BOOTLOADER_PROFILE] Boot Image Size : 168 KB [BOOTLOADER_PROFILE] Cores present : wkup-r5f0-0 [BOOTLOADER PROFILE] System_init : 37987us [BOOTLOADER PROFILE] Board_init : 0us [BOOTLOADER PROFILE] Drivers_open : 0us [BOOTLOADER PROFILE] SBL Drivers_open : 20422us [BOOTLOADER PROFILE] Board_driversOpen : 0us [BOOTLOADER PROFILE] App_loadSelfcoreImage : 8511us [BOOTLOADER_PROFILE] SBL Total Time Taken : 66922us Image loading done, switching to application ... Starting 2nd stage bootloader [BOOTLOADER_PROFILE] Boot Media : eMMC [BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz [BOOTLOADER_PROFILE] Boot Image Size : 934 KB [BOOTLOADER_PROFILE] Cores present : hsm-m4f0-0 mcu-r5f0-0 a530-0 [BOOTLOADER PROFILE] System_init : 2064us [BOOTLOADER PROFILE] Board_init : 0us [BOOTLOADER PROFILE] FreeRtosTask Create : 258us [BOOTLOADER PROFILE] SBL Drivers_open : 24329us [BOOTLOADER PROFILE] App_loadImages : 5819us [BOOTLOADER PROFILE] App_loadMCUImages : 8004us [BOOTLOADER PROFILE] App_loadLinuxImages : 19919us [BOOTLOADER_PROFILE] SBL Total Time Taken : 60396us 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 U-Boot SPL 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000) SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)') SPL initial stack usage: 1904 bytes MMC: no card present ** Bad device specification mmc 1 ** Couldn't find partition mmc 1:1 Error: could not access storage. Trying to boot from MMC1 Authentication passed Authentication passed U-Boot 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000) SoC: AM62PX SR1.0 HS-FS Model: Texas Instruments AM62P5 SK DRAM: 2 GiB (effective 8 GiB) Core: 85 devices, 31 uclasses, devicetree: separate MMC: mmc@fa10000: 0, mmc@fa00000: 1 Loading Environment from nowhere... OK In: serial Out: serial Err: serial Net: eth0: ethernet@8000000port@1 Warning: ethernet@8000000port@2 (eth1) using random MAC address - be:97:fd:48:34:0e , eth1: ethernet@8000000port@2 Hit any key to stop autoboot: 0 => => =>
7.Modify tools/boot/sbl_prebuilt/am62px-sk/ default_sbl_emmc_linux_hs_fs.cfg as follows:
#-----------------------------------------------------------------------------# # # # DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT # # # #-----------------------------------------------------------------------------# # # By default this config file, # - points to pre-built flash writer, bootloader for this EVM # - The application image points to relative path of the ipc rpmsg linux application image for this EVM # - Make sure this application is built before running this script # - You can customized this config file to point to your own bootloader and/or application images # - You can use --operation=flashverify-emmc if you just want to verify the flash contents and not flash the file. # # First point to sbl_uart_uniflash_stage1 binary, which initialises DDR and receives sbl_uart_uniflash_stage2 binary --flash-writer=sbl_prebuilt/am62px-sk/sbl_uart_uniflash_stage1.release.hs_fs.tiimage # Points to sbl_uart_uniflash_stage2 binary, which function's as a server to flash one or more files to eMMC # Please note this binary is copied to DDR by sbl_uart_uniflash_stage1 and not written to any boot media like flash or eMMC --file=../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62px-sk/wkup-r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x0 # Now send one or more files to flash or flashverify as needed. The order of sending files does not matter # 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 # HSM image is flashed at 0x240000 or to whatever offset your bootloader is configured for --file=HSMAppimageGen/board/am62px-sk/hsm.appimage.hs_fs --operation=flash-emmc --flash-offset=0x240000 # When sending application image, make sure to flash at offset 0x800000 (default) or to whatever offset your bootloader is configured for --file=../../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62px-sk/mcu-r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs --operation=flash-emmc --flash-offset=0x800000 # Linux image is flashed at 0x1200000 or to whatever offset your bootloader is configured for --file=linuxAppimageGen/board/am62px-sk/linux.appimage.hs_fs --operation=flash-emmc --flash-offset=0x280000 # u-boot.img is flashed at 0x280000 #--file=linuxAppimageGen/board/am62px-sk/u-boot.img --operation=flash-emmc --flash-offset=0x280000
8. After modification and re burning, the uboot still hasn't been skipped and the logs are the same,the startup log is as follows:
[BOOTLOADER_PROFILE] Boot Media : eMMC [BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz [BOOTLOADER_PROFILE] Boot Image Size : 168 KB [BOOTLOADER_PROFILE] Cores present : wkup-r5f0-0 [BOOTLOADER PROFILE] System_init : 37987us [BOOTLOADER PROFILE] Board_init : 0us [BOOTLOADER PROFILE] Drivers_open : 0us [BOOTLOADER PROFILE] SBL Drivers_open : 20422us [BOOTLOADER PROFILE] Board_driversOpen : 0us [BOOTLOADER PROFILE] App_loadSelfcoreImage : 8511us [BOOTLOADER_PROFILE] SBL Total Time Taken : 66922us Image loading done, switching to application ... Starting 2nd stage bootloader [BOOTLOADER_PROFILE] Boot Media : eMMC [BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz [BOOTLOADER_PROFILE] Boot Image Size : 934 KB [BOOTLOADER_PROFILE] Cores present : hsm-m4f0-0 mcu-r5f0-0 a530-0 [BOOTLOADER PROFILE] System_init : 2064us [BOOTLOADER PROFILE] Board_init : 0us [BOOTLOADER PROFILE] FreeRtosTask Create : 258us [BOOTLOADER PROFILE] SBL Drivers_open : 24329us [BOOTLOADER PROFILE] App_loadImages : 5819us [BOOTLOADER PROFILE] App_loadMCUImages : 8004us [BOOTLOADER PROFILE] App_loadLinuxImages : 19919us [BOOTLOADER_PROFILE] SBL Total Time Taken : 60396us 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 U-Boot SPL 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000) SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)') SPL initial stack usage: 1904 bytes MMC: no card present ** Bad device specification mmc 1 ** Couldn't find partition mmc 1:1 Error: could not access storage. Trying to boot from MMC1 Authentication passed Authentication passed U-Boot 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000) SoC: AM62PX SR1.0 HS-FS Model: Texas Instruments AM62P5 SK DRAM: 2 GiB (effective 8 GiB) Core: 85 devices, 31 uclasses, devicetree: separate MMC: mmc@fa10000: 0, mmc@fa00000: 1 Loading Environment from nowhere... OK In: serial Out: serial Err: serial Net: eth0: ethernet@8000000port@1 Warning: ethernet@8000000port@2 (eth1) using random MAC address - be:97:fd:48:34:0e , eth1: ethernet@8000000port@2 Hit any key to stop autoboot: 0 => =>
9. Package and use kernel Image when generating "linux.appimage.hs_fs",the file size is as follows:
liuhongjie@Rd-Horizon:~/ti/mcu_plus_sdk_am62px_10_00_00_14/tools/boot/linuxAppimageGen/board/am62px-sk$ ll total 42016 drwxr-xr-x 2 liuhongjie liuhongjie 4096 12月 17 08:16 ./ drwxr-xr-x 3 liuhongjie liuhongjie 4096 12月 4 10:27 ../ -rw-r--r-- 1 liuhongjie liuhongjie 937 12月 12 17:43 config.mak -rw-rw-r-- 1 liuhongjie liuhongjie 20881376 12月 17 08:16 linux.appimage -rw-rw-r-- 1 liuhongjie liuhongjie 20883000 12月 17 08:16 linux.appimage.hs_fs -rw-rw-r-- 1 liuhongjie liuhongjie 1241623 12月 17 08:16 u-boot.img
Please advise on how to correctly configure Falcon startup and skip uboot?