I have a board that is running u-boot based on "U-Boot 2009.08". I am in the process of developing another board that is very similar but want to upgrade the u-boot to "U-Boot 2013.06".
The boards are iMX6DL CPU based with 32 bit DDR3 and console via UART1. These designs are based on the SabreSD reference design.
I am loading the boards serially via USB using the imx_usb utility available from
https://github.com/boundarydevices/imx_usb_loader.git
Using the older design, I can run the old boot loader fine. When I run the new version of u-boot, the board just hangs and I get no output from the console.
I can get the new version of u-boot compiled for the SabreSD board to run on the SaberSD board with no problems.
I have verifed that the DCD's being loaded with the u-boot are identical between the two u-boot versions.
I noticed that the old u-boot loads at a different memory location (0x27080000) than the new image (0x177ff00) but both seem to be within ghte range of the DDR RAM.
I also noticed that the jump address jumps to the first location of the u-boot image, which is the IVT Header. Is this correct? How is the entry point actually specified?
What should I be looking at to determine why my code is going to the weeds?
(Aside from a debugger/JTAG module which I do not have.)
Thanks
Doug Bailey #
Hi Doug
address 0x177ff00 is not within range of the DDR RAM according to
Table 2-1. System memory map i.MX6SDL Reference Manual
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SDLRM.pdf
Application entry point is described in sect.8.6.1 Image Vector Table and Boot Data,
issues with non-nxp uboot releases can be posted on uboot mail list.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------