Hi NXP Community,
We have developed a board using a iMX6DL and we've run into problems uploading a u-boot.imx image when in serial downloader mode. However when we create a SD card image using our buildroot environment (buildroot-2017.02.9 with uboot-rel_imx_4.1.15_2.0.0_ga based on sabre_sd), uboot loads ok and we can boot the Linux kernel successfully.
We are using imx_usb_load to transfer u-boot.imx to our board we have observed/tried:
The serial upload data mismatch suggest our DDR is not configured properly however booting our board using an SD card image works perfectly, which suggest our DCD values are okay.
Any suggestions/solutions would be really appreciated.
Thanks in advance!
Wei
Hi Wei
sd card uboot images are images with offset, as
for other external boot devices. For usb
load one needs the same image, but without offset.
Other reason may be big uboot size, if loaded to internal OCRAM.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor
Thanks for your reply.
We have a 'ready made' development board that we also tested in serial download mode. In this case using the same u-boot.imx image the system was able to enter into uboot, whilst our newly developed board just hangs and there is data mismatch. So I believe the size is okay and the offset's aren't the issue.
From what I understand the generated *.imx files include DCD and some locations to indicate to the CPU from which location to start uboot. I believe imx_usb_download (GitHub - boundarydevices/imx_usb_loader: USB & UART loader for i.MX5/6/7 series ) seems to be able to parse these files correctly and write the DCD and uboot into the correct locations.
Best regards
Wei
Hi Wei
newly developed board may not work with old image, for new board
it is necessary to run ddr test and update image with new calibration settings found
from test
i.MX6/7 DDR Stress Test Tool V2.80
Best regards
igor
Hi Igor
Thanks for the ddr stress test link. However we've already used this to update the DCD values but the situation hasn't improved.
best regards
Wei
Hi Wei
please check sect.8.6.1 Image Vector Table and Boot Data
i.MX6SDL Reference Manual
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SDLRM.pdf
and try image without offset.
Best regards
igor
Hi Igor
Thanks, will try without offset.
best regards
Wei
Hi Igor
The boot loader (u-boot.imx) is already zero offset. Here's a hexdump of the first few lines. The IVT header (0x402000D1) can be seen in the first entry.
00000000 d1 00 20 40 00 00 80 17 00 00 00 00 2c f4 7f 17 |.. @........,...|
00000010 20 f4 7f 17 00 f4 7f 17 00 00 00 00 00 00 00 00 | ...............|
00000020 00 f0 7f 17 00 40 07 00 00 00 00 00 d2 02 f0 40 |.....@.........@|
00000030 cc 02 ec 04 02 0e 07 74 00 0c 00 00 02 0e 07 54 |.......t.......T|
00000040 00 00 00 00 02 0e 04 ac 00 00 00 30 02 0e 04 b0 |...........0....|
00000050 00 00 00 30 02 0e 04 64 00 00 00 30 02 0e 04 90 |...0...d...0....|
As a reminder I'm trying to upload u-boot.imx using imx_usb_loader; on a purchased development board this combination of u-boot.imx and imx_usb_loader works; and ddr stress test values have been applied to our DCD.
best regards
Wei