Hello friends,
I have an imx6, u-boot booting on emmc, SYS_TEXT_BASE = 17800000
When i "go 0x17800000", it restart, good.
Now i wan't to start an other uboot from ram.
I've compiled it with SYS_TEXT_BASE = 17900000
I do :
tftp 0x17900000 u-boot.bin
go 0x7900000
It write "Starting application at ********" and it was blocked.
With lauterbach trace32 :
I see "stopped by vector catch", it's a data abord (SDABORT)
It failed in board_init_f at :
if (mxc_get_clock(MXC_ARM_CLK) == 396000000)
set_ahb_rate(132000000);
If i comment it, it fail after....
It's at my work, i wan't to use "go" command, not sb loader or other
Thanks for your help :smileyhappy:
Hi lequxu
once started uboot initializes processor clock tree using special procedures
described in sect.18.5.1.5 CCM internal clock generation, sect.18.5.1.5.6 Divider change handshake,
sect.18.5.1.7 Clock Switching Multiplexers, sect.18.5.1.9 MMDC handshake i.MX6DQ Reference Manual.
So when running second uboot instance it tries to configure clocks which are already initialized.
Another document which describes clock configuration rules is EB790 Configuration of Phase Fractional Dividers
https://www.nxp.com/docs/en/engineering-bulletin/EB790.pdf
You can try analyze which clock causes exception usng these documents.
http://www.nxp.com/docs/en/reference-manual/IMX6DQRM.pdf
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------