Start u-boot from u-boot using go command

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Start u-boot from u-boot using go command

1,790 Views
ciaran_lequeux
Contributor I

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:

0 Kudos
1 Reply

1,487 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos