
Dear Sergey Lapin,
In message 20111213160810.GA27440@build.ihdev.net you wrote:
We have a board, based on s3c2416, with 128MB of RAM and 1GB of NAND flash. RAM is organized as 2 memory banks with far placed bases: TOP UNUSED 64MB 64MB SDRAM --- 128MB segment base 1 ----- UNUSED 64MB 64MB SDRAM -- 128MB segment base 0 ------ BOTTOM
So we could have only 64MB as one piece; Due to u-boot reloaction code we need to have u-boot in first 64MB also. ...
Why would that be the case?
I would expect that U-Boot (with all it's heap and stack and everything) sits only at the upper end of the upper bank of memory (in your sgment 1).
... . And now we have root filesystem
which we need to flash using u-boot, which is a little over this 64MB limit.
Split it?
Is there some way to use second memory bank from u-boot? Is it possible to tftp file in parts and flash it on NAND in parts? (This requires handling of bad blocks too)
We need to flash using u-boot, that's requirement for speedy production.
I somewhat doubt that. Booting Linux is probably a matter of 2 or 3 seconds, or less. You migth save that time again by using Linux' much better performing network stack, together with interleaving network traffic and flash writing.
If I were in this situation, I'd probably run this under Linux.
Best regards,
Wolfgang Denk