Hello dear NXP fellows,
I am trying to bring up a custom board ADLINK LEC-iMX8M Plus SMARC Module using BSP from ADLINK meta-adlink-nxp-kirkstone and building yocto project as per the instructions. However when I flash the bootloader (imx_boot), I get error which is shown below.
I have tried to build U-boot, ATF & DDR firmware in standalone ENV
#uboot
make distclean
make O=build adlink_lec8mp_defconfig
make O=build
#ATF
make PLAT=imx8mp bl31
and then created the bootcontainer using mkimage utility, but still I get the same error.
###############################################
U-Boot SPL 2022.04-lf_v2022.04+g16e8414193 (Oct 08 2022 - 13:33:43 +0000)
No pca9450@25
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from BOOTROM
Boot Stage: Primary boot
image offset 0x8000, pagesize 0x200, ivt offset 0x0
Can't support legacy image
SPL: failed to boot from all boot devices
ERROR ### Please RESET the board
###############################################
Debugging Results:
I have search alot about this issues and it looks like there are some image offset issues (specially IVT table). Image Vector Table (IVT) is a list of pointers located at a fixed address that the ROM examines to determine where the other components of the program image are located.
Based on Boot problems imx8mp_evk
I have tried to compile uboot for iMX8MP Model
make distclean
make O=build imx8mp_evk_defconfig
make O=build
and then generated bootcontainer using mkimage utility. This image run successfully and board is able to load uboot.
I compared the IVT table for both iMX8MP & ADlink_LEC8MP and I see a few differences which I guess is the reason for my bootloader not booting in the case for ADLINK.
I am attaching here IVT images for both cases. I am not sure how to correctly set these values in source code. However I believe I have identified the root casue for my issue. May I also know how can I validate/decode the uboot flash image to know its expected offsets?
Thanks in advance.
Regards
Asad