2023-10-09 07:13 AM
Hi
I have followed the steps in https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_machine#Generate_device_tree to generate a image for my specific machines dts. But when building the image the error below is generated. I have done the "bitbake -c cleanall tf-a-stm32mp" with no change. The machine is specified in meta-st-stm32mp-addons/conf/machine/ and matches the example for the DK2 but with a different path to my dts in mx/... for kernel, op-tee etc.
ERROR: tf-a-stm32mp-v2.6-stm32mp-r2-r0 do_compile: oe_runmake failed
ERROR: tf-a-stm32mp-v2.6-stm32mp-r2-r0 do_compile: ExecutionError('/home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/temp/run.do_compile.3019298', 1, None, None)
ERROR: Logfile of failure stored in: /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/temp/log.do_compile.3019298
Log data follows:
| DEBUG: Executing python function check_cubemxdtb_exist
| DEBUG: Python function check_cubemxdtb_exist finished
| DEBUG: Executing shell function do_compile
| NOTE: make -j 40 PLAT=stm32mp1 ARCH=aarch32 ARM_ARCH_MAJOR=7 CROSS_COMPILE=arm-ostl-linux-gnueabi- DEBUG=1 LOG_LEVEL=40 -C /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/git BUILD_PLAT=/home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/build/trusted-stm32mp15 DTB_FILE_NAME=stm32mp157f-firmware-eid-mx.dtb AARCH32_SP=sp_min STM32MP15=1 bl32 dtbs
| make: Entering directory '/home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work-shared/stm32mp1-firmware-eid/tfa-source'
| Including bl32/sp_min/sp_min.mk
| CC bl32/sp_min/sp_min_main.c
| CC common/fdt_wrappers.c
| CC common/runtime_svc.c
| CC drivers/arm/gic/v2/gicdv2_helpers.c
| CC drivers/arm/gic/v2/gicv2_helpers.c
| CC drivers/arm/gic/v2/gicv2_main.c
| CC drivers/scmi-msg/base.c
| CC drivers/scmi-msg/clock.c
| CC drivers/scmi-msg/entry.c
| CC drivers/scmi-msg/reset_domain.c
| CC drivers/scmi-msg/smt.c
| CC drivers/st/clk/stm32mp1_calib.c
| CC drivers/st/etzpc/etzpc.c
| CC drivers/st/rng/stm32_rng.c
| CC drivers/st/rtc/stm32_rtc.c
| CC drivers/st/tamper/stm32_tamp.c
| CC drivers/st/timer/stm32_timer.c
| CC lib/cpus/errata_report.c
| CC lib/el3_runtime/aarch32/context_mgmt.c
| CC lib/el3_runtime/cpu_data_array.c
| CC lib/locks/bakery/bakery_lock_normal.c
| CC lib/psci/psci_common.c
| CC lib/psci/psci_main.c
| CC lib/psci/psci_mem_protect.c
| CC lib/psci/psci_off.c
| CC lib/psci/psci_on.c
| CC lib/psci/psci_setup.c
| CC lib/psci/psci_suspend.c
| CC plat/common/aarch32/plat_sp_min_common.c
| CC lib/psci/psci_system_off.c
| CC plat/common/plat_gicv2.c
| CC plat/common/plat_psci_common.c
| CC plat/st/common/stm32mp_gic.c
| CC plat/st/stm32mp1/services/bsec_svc.c
| CC plat/st/stm32mp1/services/low_power_svc.c
| CC plat/st/stm32mp1/services/pwr_svc.c
| CC plat/st/stm32mp1/services/rcc_svc.c
| CC plat/st/stm32mp1/services/stm32mp1_svc_setup.c
| CC plat/st/stm32mp1/sp_min/sp_min_setup.c
| CC plat/st/stm32mp1/stm32mp1_critic_power.c
| CC plat/st/stm32mp1/stm32mp1_low_power.c
| CC plat/st/stm32mp1/stm32mp1_pm.c
| CC plat/st/stm32mp1/stm32mp1_power_config.c
| CC plat/st/stm32mp1/stm32mp1_scmi.c
| CC plat/st/stm32mp1/stm32mp1_shared_resources.c
| CC plat/st/stm32mp1/stm32mp1_topology.c
| CC services/arm_arch_svc/arm_arch_svc_setup.c
| CC services/std_svc/std_svc_setup.c
| CC common/bl_common.c
| CC common/tf_log.c
| CC drivers/console/multi_console.c
| CC plat/common/plat_bl_common.c
| CC plat/common/aarch32/plat_common.c
| CC plat/common/plat_log_common.c
| CC lib/compiler-rt/builtins/popcountdi2.c
| CC lib/compiler-rt/builtins/popcountsi2.c
| CC lib/compiler-rt/builtins/ctzdi2.c
| CC lib/compiler-rt/builtins/divdi3.c
| CC lib/compiler-rt/builtins/divmoddi4.c
| CC lib/compiler-rt/builtins/lshrdi3.c
| CC lib/compiler-rt/builtins/udivmoddi4.c
| CC common/uuid.c
| CC plat/st/common/stm32mp_common.c
| CC plat/st/stm32mp1/stm32mp1_private.c
| CC lib/xlat_tables_v2/aarch32/xlat_tables_arch.c
| CC lib/xlat_tables_v2/xlat_tables_context.c
| CC lib/xlat_tables_v2/xlat_tables_core.c
| CC lib/xlat_tables_v2/xlat_tables_utils.c
| CC drivers/arm/tzc/tzc400.c
| CC drivers/clk/clk.c
| CC drivers/delay_timer/delay_timer.c
| CC drivers/delay_timer/generic_delay_timer.c
| CC drivers/regulator/regulator_core.c
| CC drivers/st/bsec/bsec2.c
| CC drivers/st/clk/stm32mp_clkfunc.c
| CC drivers/st/ddr/stm32mp_ddr.c
| CC drivers/st/ddr/stm32mp1_ddr_helpers.c
| CC drivers/st/gpio/stm32_gpio.c
| CC drivers/st/i2c/stm32_i2c.c
| CC drivers/st/iwdg/stm32_iwdg.c
| CC drivers/st/pmic/stm32mp_pmic.c
| CC drivers/st/pmic/stpmic1.c
| CC drivers/st/regulator/regulator_fixed.c
| CC drivers/st/regulator/regulator_gpio.c
| CC drivers/st/reset/stm32mp1_reset.c
| CC plat/st/common/stm32mp_dt.c
| CC plat/st/common/stm32mp_shres_helpers.c
| CC plat/st/stm32mp1/stm32mp1_context.c
| CC plat/st/stm32mp1/stm32mp1_dbgmcu.c
| CC plat/st/stm32mp1/stm32mp1_syscfg.c
| CC drivers/st/clk/stm32mp1_clk.c
| AS bl32/sp_min/aarch32/entrypoint.S
| AS lib/cpus/aarch32/cpu_helpers.S
| AS lib/el3_runtime/aarch32/cpu_data.S
| AS lib/locks/exclusive/aarch32/spinlock.S
| AS lib/psci/aarch32/psci_helpers.S
| AS plat/common/aarch32/platform_mp_stack.S
| AS common/aarch32/debug.S
| AS lib/aarch32/cache_helpers.S
| AS lib/aarch32/misc_helpers.S
| AS plat/common/aarch32/platform_helpers.S
| AS lib/compiler-rt/builtins/arm/aeabi_ldivmod.S
| AS lib/compiler-rt/builtins/arm/aeabi_uldivmod.S
| AS drivers/st/uart/aarch32/stm32_console.S
| AS lib/xlat_tables_v2/aarch32/enable_mmu.S
| AS lib/cpus/aarch32/cortex_a7.S
| AS plat/st/stm32mp1/stm32mp1_helper.S
| PP bl32/sp_min/sp_min.ld.S
| CC lib/libfdt/fdt.c
| CC lib/libfdt/fdt_addresses.c
| CC lib/libfdt/fdt_empty_tree.c
| CC lib/libfdt/fdt_ro.c
| CC lib/libfdt/fdt_rw.c
| CC lib/libfdt/fdt_strerror.c
| CC lib/libfdt/fdt_sw.c
| CC lib/libfdt/fdt_wip.c
| CC lib/libc/abort.c
| CC lib/libc/assert.c
| CC lib/libc/exit.c
| CC lib/libc/memchr.c
| CC lib/libc/memcmp.c
| CC lib/libc/memcpy.c
| CC lib/libc/memmove.c
| CC lib/libc/memrchr.c
| CC lib/libc/memset.c
| CC lib/libc/printf.c
| CC lib/libc/putchar.c
| CC lib/libc/puts.c
| CC lib/libc/snprintf.c
| CC lib/libc/strchr.c
| CC lib/libc/strcmp.c
| CC lib/libc/strlcat.c
| CC lib/libc/strlcpy.c
| CC lib/libc/strlen.c
| CC lib/libc/strncmp.c
| CC lib/libc/strnlen.c
| CC lib/libc/strrchr.c
| CC lib/libc/strtok.c
| CC lib/libc/strtoul.c
| CC lib/libc/strtoll.c
| CC lib/libc/strtoull.c
| CC lib/libc/strtol.c
| CPP fdts/stm32mp157f-firmware-eid-mx-fw-config.dts
| CPP /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/build/trusted-stm32mp15/fdts/stm32mp157f-firmware-eid-mx-bl2.dts
| CPP /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/build/trusted-stm32mp15/fdts/stm32mp157f-firmware-eid-mx-bl32.dts
| DTC fdts/stm32mp157f-firmware-eid-mx-fw-config.dts
| Error: /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/build/trusted-stm32mp15/fdts/stm32mp157f-firmware-eid-mx-fw-config.pre.dts:0.0 syntax error
| FATAL ERROR: Unable to parse input tree
| make: *** [Makefile:1310: /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/build/trusted-stm32mp15/fdts/stm32mp157f-firmware-eid-mx-fw-config.dtb] Error 1
| make: *** Waiting for unfinished jobs....
| DTC /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/build/trusted-stm32mp15/fdts/stm32mp157f-firmware-eid-mx-bl2.dts
| DTC /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/build/trusted-stm32mp15/fdts/stm32mp157f-firmware-eid-mx-bl32.dts
| /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/build/trusted-stm32mp15/fdts/stm32mp157f-firmware-eid-mx-bl2.pre.dts:29.3-26: Warning (interrupts_property): /soc/i2c@40013000:#interrupt-cells: size is (28), expected multiple of 12
| /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/build/trusted-stm32mp15/fdts/stm32mp157f-firmware-eid-mx-bl32.pre.dts:29.3-26: Warning (interrupts_property): /soc/i2c@40013000:#interrupt-cells: size is (28), expected multiple of 12
| make: Leaving directory '/home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work-shared/stm32mp1-firmware-eid/tfa-source'
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
ERROR: Task (/home/build/workspace/STM32/Distribution-Package/layers/meta-st/meta-st-stm32mp/recipes-bsp/trusted-firmware-a/tf-a-stm32mp_2.6.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3970 tasks of which 3772 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 5 seconds
Summary: 1 task failed:
/home/build/workspace/STM32/Distribution-Package/layers/meta-st/meta-st-stm32mp/recipes-bsp/trusted-firmware-a/tf-a-stm32mp_2.6.bb:do_compile
Summary: There were 2 ERROR messages, returning a non-zero exit code.
2023-11-09 01:24 AM
Hello @carer ,
Did you success to catch your error ? For me all the Yocto configuration looks good and well taken into account, we see that TF-A build well takes your own device tree. However, we also see that the error points on this same device tree.
On which OpenSTLinux version are you ? Did you try to compile TF-A outside Yocto first, to correct the errors ?
If you are still blocked, can you also share us the device tree you have ?
Kind regards,
Erwan.