Start u-boot from u-boot using go command

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Start u-boot from u-boot using go command

1,789 次查看
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 项奖励
1 回复

1,486 次查看
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 项奖励