[U-Boot-Users] Booting from NAND Flash Problems

Wolfgang Denk wd at denx.de
Thu May 18 00:48:57 CEST 2006

In message <4436349.post at talk.nabble.com> you wrote:
> This means that a small program has to run first.  This small program is <
> 16K in size and copies U-Boot from Nand Flash into RAM and then executes it.
> In theory this should work fine.

This works fine in practice for a couple of systems.

> However i am having loads of issues with running u-boot with cache enabled. 
> If cache is enabled then the Nand Driver (I am using the latest Linux MTD
> based driver)
> has problems as it uses a DMA copy to copy to the Nand Flash.
> If I implement cache flushing I break u-boot.

Then your port of U-Boot is broken.

> I was wondering if anyone has any hints or tips on how u-boot is used in a
> system with only Nand Flash and a Mips processor.

I don;t see anything in your setup where using NAND flash or  a  MIPS
CPU plays a role; all this is pretty similar on all architectures.

> I have seen other posts suggesting mips processors should run uncached but
> this is obviously slower.

Define "run uncached".

> Has the case been consider where relocation is not necessary i.e a small


> program just loads the executable to a location and runs it.  I know
> relocation can save memory but in my system it means extra copying and
> currently extra headaches!!

Then don't do it.

And BTW: Relocation does not save memory at all. 

Best regards,

Wolfgang Denk

Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The ultimate barrier is one's viewpoint.
                        - Terry Pratchett, _The Dark Side of the Sun_

More information about the U-Boot mailing list