[U-Boot] U-Boot load and run via NAND flash - ARM926EJ-S

Hi List, I understand NOR-based flash memory devices have traditionally been used for non-volatile storage for a bootloader and other various advantages including support for execute-in-place code, random access to memory, and zero error rate, etc. However, we have a project that we would like to have U-Boot bootloader run via NAND Flash memory device on a ARM926EJ-S based board. I searched the mailing list for this and didn't see anything. I only found a question posted in 2006 where it was asked if the kernel based on ARM926EJ-S can boot from NAND flash. Which I know is ok. Does the community know of any existing mechanisms for this type of configuration to enable U-Boot load and run via NAND flash?
Thanks in advance! TJ

I presume you system will have SDRAM and execution is from SDRAM. I did a port to an Atmel 9260 with only NAND flash (for bootstrap, bootloader, RFS). The only issue with NAND is dealing with bad blocks. There are many ways to work this. One example: 1. bootstrap - I put it in the first block as it guarantees good by manufacturer. ATmel's bootstrap will skip to next block when reading u-boot into SDRAM for execution 2. RFS - Initially I tried read/writeable FS with bad block management like JFFS2 but performance was bad. I end up using CRAMFS on top of UBI in a read only RFS partition and a small JFFS2 for RW.
Hope this helps. Norman
Thomas Jackson wrote:
Hi List, I understand NOR-based flash memory devices have traditionally been used for non-volatile storage for a bootloader and other various advantages including support for execute-in-place code, random access to memory, and zero error rate, etc. However, we have a project that we would like to have U-Boot bootloader run via NAND Flash memory device on a ARM926EJ-S based board. I searched the mailing list for this and didn't see anything. I only found a question posted in 2006 where it was asked if the kernel based on ARM926EJ-S can boot from NAND flash. Which I know is ok. Does the community know of any existing mechanisms for this type of configuration to enable U-Boot load and run via NAND flash?
Thanks in advance! TJ

Dear Thomas Jackson,
In message 25484494.post@talk.nabble.com you wrote:
I understand NOR-based flash memory devices have traditionally been used for non-volatile storage for a bootloader and other various advantages including support for execute-in-place code, random access to memory, and zero error rate, etc. However, we have a project that we would like to have U-Boot bootloader run via NAND Flash memory device on a ARM926EJ-S based board. I searched the mailing list for this and didn't see anything. I only found a
I have no idea how you performed that search, but it seems you have a special aptitude to avoid all the obvious hits.
question posted in 2006 where it was asked if the kernel based on ARM926EJ-S can boot from NAND flash. Which I know is ok. Does the community know of any existing mechanisms for this type of configuration to enable U-Boot load and run via NAND flash?
It's a standard feature and available on many (most?) boards that support booting from NAND. Dunno if this includes AT91 boards.
Jean-Christophe should be able to answer this, but he is currently off this planet.
Best regards,
Wolfgang Denk

-----Original Message----- From: u-boot-bounces@lists.denx.de [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Wolfgang Denk Sent: Thursday, September 17, 2009 1:14 PM To: Thomas Jackson Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] U-Boot load and run via NAND flash - ARM926EJ-S
Dear Thomas Jackson,
In message 25484494.post@talk.nabble.com you wrote:
I understand NOR-based flash memory devices have
traditionally been used for
non-volatile storage for a bootloader and other various
advantages including
support for execute-in-place code, random access to memory,
and zero error
rate, etc. However, we have a project that we would like
to have U-Boot
bootloader run via NAND Flash memory device on a ARM926EJ-S
based board. I
searched the mailing list for this and didn't see anything.
I only found a
I have no idea how you performed that search, but it seems you have a special aptitude to avoid all the obvious hits.
question posted in 2006 where it was asked if the kernel
based on ARM926EJ-S
can boot from NAND flash. Which I know is ok. Does the
community know of
any existing mechanisms for this type of configuration to
enable U-Boot load
and run via NAND flash?
It's a standard feature and available on many (most?) boards that support booting from NAND. Dunno if this includes AT91 boards.
On Kirkwood there is internal BootROM which takes care of this. In this case you need to add some header on the top of u-boot binary Pls go through doc/README.kwbimage
On Nomadik platforms there is intermediate binary sits on the very first sector which does DRAM initialization ,some other basic system setup and loads u-boot into DRAM.
I am not familiar with AT91, but there must be similar approach. May be new mkimage structure may find useful for you
Regards..
Prafulla . .
Jean-Christophe should be able to answer this, but he is currently off this planet.
Best regards,
Wolfgang Denk
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de Anyone can count the seeds in an apple. No one can count the apples in a seed. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
participants (4)
-
N Cheung
-
Prafulla Wadaskar
-
Thomas Jackson
-
Wolfgang Denk