
Le vendredi 27 juin 2008 à 14:31 -0700, Norman Cheung a écrit :
Dear all,
Hi Norman,
I am still struggling with this problem, but getting to reproduce this problem repeatably. Hoping folks in the forum can give me some pointers. Our Atmel FAE is clueless also.
This is repeatable, on two boards (both 9260 Rev A and Rev B):
- bootstrap, u-boot, kernel, RFS all downloaded to NAND with SAM-BA 2.6
- Without recycle power, just push reset button; u-boot will come up.
And I can continue to boot Kernel (2.6.25)
- Push reset second time(and subsequent times), bootstrap will run and
fail in the first few instruction of u-boot
Sometimes power cycle, u-boot will come up again
When it runs, if I has u-boot boot kernel, linux will run.
Push reset button in Linux board will reboot and u-boot will run again
(all the times)
- If I use linux reboot, the board will stop after running bootstrap
and (I believe) branched to u-boot.
Our h/ware guy has checked all the timing NAND, SDRAM etc and we have experimented with all the settings.
It looks like you have a SDRAM initialisation problem. To confirm this (since you said that you cannot reproduce this problem with a JTAG), you need to modify the source code for AT91Bootstrap, and add a 'verify' pass (using a checksum for example) after the copy from NAND to SDRAM. This way you'll find out if the reading from NAND is going wrong, or the writing to SDRAM (I suspect the latter).
Next, you may encounter an issue with the reset sequence. I know that on some newer Atmel boards (AT91CAP9 and AT572D940HF) there is a problem when an external reset is performed while a SDRAM burst access is occuring. The workaround for this issue is to catch the external interrupt generated by the reset switch, and do the reset by software (see the AT572D940HF patches posted recently by Antonio Costa for the full code). I'm not sure the 9260 exhibits the same bug, but you may query your FAE for that.
Hope this gives some clues.
Stelian.