Arm Trusted Firmware: Optimizing boot time with Yocto
Hi everyone,
I'm trying to optimize the boot time of tf-a with Yocto but don't find much information on the web. Currently tf-a takes about 1s from the point in which it is read from NOR to the point it loads UBoot from same NOR. I optimized the Linux kernel to take about 1.5s to boot (no ethernet) so the tf-a boot time has now an important weight in the whole boot time of the system.
There is this link which explains how to set some compiler flags while compiling tf-a without Yocto but didn't find the equivalent flags in Yocto.
$ make STM32MP1_DEBUG_ENABLE=0 \
STM32MP1_UART_PROGRAMMER=0 \
STM32MP1_USB=0 \
STM32MP1_QSPI_NOR=0 \
STM32MP1_QSPI_NAND=0 \
STM32MP_FMC_NAND=1 \
STM32MP_EMMC=0 \
STM32MP_SDMMC=0 \
…As I'm booting from NOR, I trying setting the following in a bbappend:
TF_A_EXTRACONF_LEGACY=" STM32MP_SDMMC=0 STM32MP_EMMC=0 STM32MP_SPI_NOR=1 STM32MP_RAW_NAND=0 STM32MP_SPI_NAND=0 STM32MP_USE_STM32IMAGE=1"But neither the size not the boot time of tf-a improved.
The only Yocto flag that proved useful was:
ST_TF_A_DEBUG_LOG_LEVEL = "0"I would appreciate any help with this.
Bests,
Jose
