Hi
i have binary file that tests ddr memory running from internal ram. This binary is loaded by u-boot into internal ram.
once memory test is complete, it jumps to boot rom. like below.
void main()
{
void (*bootRom)(void) = 0x000;
while(1)
{
ram_test();
(*bootRom)();
}
}
after jumping to boot rom, u-boot never starts, this is happening on one of our board remaining work fine, not all doing this.
is this chip issue.
all i see in trace is below, when i try to find out with debugger.
PC is at BFF53004
can anyone let me know what is this actually location specifies.
but this doesnt answer my question, then i should see same behavior on all the boards.
why am seeing on just this board.
Hello,
Boot ROM code is intended to run after reset.
It is highly recommended to follow i.MX validation design and NXP sponsored third-party
designs, that have been designed to remove power (voltage source) to all components on
the board in the event of a processor reset. This avoids having to determine if a component
critical to rebooting the processor is in the necessary state to support a reboot.
Have a great day,
Yuri
------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
why is this happening with only one or two board, remaining boards are working fine.
what components boot rom is dependent on.
Hello,
Perhaps it makes sense to use JTAG debugging to find the source of the problem for
the non-working board, but this will not guarantee issues absence for other (third)
boards.
Regards,
Yuri.
Hi Yuri,
i used debugger, this what i see.
Hello,
Looks like the system hangs in boot ROM; as was mentioned, the boot ROM
is intended to work after reset. It is not intended to be called (or jumped) from
a user code.
Regards,
Yuri.