[RFC] imx21ads nand boot
Alessandro Rubini
rubini-list at gnudd.com
Fri Mar 19 09:00:34 EDT 2010
> I tried getting barebox MX21ADS to boot from NAND, but I can't get
> it to work.
>
> Any clues, anyone ?
> + ldmia r0!, {r3-r9} /* copy from source address [r0] */
> + stmia r1!, {r3-r9} /* copy to target address [r1] */
This is 7 registers, so 28 bytes at a time. So you copy
28, 56, .... 2044, 2072
I don't know what happens when you access memory over the end of
the SRAM area. Maybe it fires a data abort or something like that?
I'd use 4 registers instead of 7, but it might well not be the problem
> + cmp r0, r2 /* until source end addreee [r2] */
> + ble copy_loop
"blt" would be better, because when it is equal you are done. Or using
4 registers will not prevent the extra accesses.
> + ldr pc, =1f /* Jump to SDRAM */
> +1:
> + bl nand_boot /* Load barebox from NAND Flash */
> +
Finally, you should ensure the literary pool is within the first 2kB.
I'd place ".ltorg" before the "1:", or would check the disassembly.
Hope this helps, but it may well not help
/alessandro, who has an mx21ads looking at him but also real work to deliver
More information about the barebox
mailing list