How do I create a u-boot image for imx515

Showing results for 
Search instead for 
Did you mean: 

How do I create a u-boot image for imx515

Contributor I


I have used already lots of different methods to create an image of u-boot for the imx515, but every tutorial I've found uses a BSP that I can't find anymore inside NXP files website. So I adapted a procedure created in 2010 ( ), and after the compilation, with a Linaro Toolchain, the board just doesn't give a life signal through the serial port. The board is a custom board based on the MCIMX51EVKJ: i.MX51 Evaluation Kit, so I'm using the defconfig default (mx51evk_defconfig) and the Linaro toolchain version gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf. Shouldn't this at least give me the CLI of u-boot through the serial port? And which file should I copy to the SDCARD, because I can't find a u-boot.img, there's just u-boot, u-boot.bin, and u-boot.imx, and I tried each one, and none have worked yet. The procedure used is based on a compilation of u-boot for the Beaglebone black board (BeagleBone Black - Linux on ARM - eewiki ), which was successful for Beaglebone, but not for imx51. The procedure is this:

export CC=$linaro_path/gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

make ARCH=arm CROSS_COMPILE=${CC} distclean

make ARCH=arm CROSS_COMPILE=${CC} mx51evk_defconfig


Is there something wrong with the procedure?

Thanks a lot and best regards.

Labels (1)
0 Kudos
1 Reply

NXP TechSupport
NXP TechSupport

Hello André Pagliaro Thomaz,

Since the i.MX515 is a bit old there is indeed no much information that’s current on how to create a bootloader.

The procedure looks correct in general, although you do not mention which Kernel you are using I would assume 2.6 from the document you are following. On the 2.6.5 BSP for the i.MX51 the steps are:

make ARCH=arm CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linux-gnueabidistclean

make ARCH=arm CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linux-gnueabimx51_bbg_config

make ARCH=arm CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linux-gnueabi-

So very similar but with a different toolchain. You mention that you already have compiled the bootloader. How have you tested them? The bootloader may be padded or not. If it’s not padded, you would need to write it to the 0x400 or 1024 decimal address of the SD card so that the ROM will find it.

I have attached the documentation I could find from the 2.6.35 BSP, which is no longer supported.

You have made some progress already so you probably won’t want to switch to Yocto, but the Community BSP does support the i.MX51 EVK, which may help. You can find more information on the link below.

I hope this information helps!


0 Kudos