[U-Boot-Users] Problem in writing downloaded image to NAND device

Dharmosoth Seetharam seetharam_21 at yahoo.com
Tue Nov 27 16:40:31 CET 2007


Hi,

I have downloaded the file u-boot-1.3.0-rc1.tar.bz2
from the following link.
ftp://ftp.denx.de/pub/u-boot/


But, U_BOOT_VERSION is having 1.2.0 only.

Is it wrong ?? OR any other U-boot 1.3 is there ?
Please point me if i am wrong.

Thanks,
Seetharam



--- Stefan Roese <sr at denx.de> wrote:

> On Tuesday 27 November 2007, Dharmosoth Seetharam
> wrote:
> > I have a problem in writing to NAND device.
> >
> > U-Boot 1.2.0 (Nov 27 2007 - 13:18:12)
> 
> Please try to upgrade to a recent version of U-Boot.
> 1.3.0 was released just a 
> few days ago. Generally it is always recommended to
> use the most recent 
> U-Boot version.
> 
> > Board - atmel
> > cpu   - arm926ejs
> > fs    - cramfs
> > Os    - Linux, ARM based OS
> >
> > 64MB SDRAM and 256 MB NAND device.
> >
> > What i am trying to achieve is:
> >   To copy the downloaded kernel image and fs image
> >   to NAND device.
> >
> > What I have done is:
> >    1) Downloaded the kernel image and fs image
> >       using tftp download command at U-Boot.
> >
> >      *) tftp 0x22200000 kernel.img
> >
> >    ## Checking Image at 22200000 ...
> >    Image Name:   Linux 2.6.22
> >    Image Type:   ARM Linux Kernel Image
> (uncompressed)
> >    Data Size:    1872572 Bytes =  1.8 MB
> >    Load Address: 20008000
> >    Entry Point:  20008000
> >    Verifying Checksum ... OK
> >    U-Boot>
> >
> >   kernel image is downloaded to SDRAM.
> >
> >   Now want to write this kernel image to NAND
> device.
> >   U-Boot> nand device
> >   Device 0: NAND 256MiB 3,3V 8-bit
> >
> >   U-Boot> nand write 0x22200000 0x0 0x200000
> >   NAND write: device 0 offset 0x0, size 0x200000
> >   2097152 bytes written: OK
> 
> Just try to read the image back into SDRAM and
> compare it to the original 
> version:
> 
> => nand read 22400000 0 200000
> => cmp.b 22200000 22400000 200000
> 
> Does this match? But again it is not worth the
> effort to debug such a problem 
> in this older U-Boot version. Please upgrade. A lot
> changes in the NAND 
> driver too.
> 
> >   U-Boot> nboot 0x22200000 0
> >   Loading from NAND 256MiB 3,3V 8-bit, offset 0x0
> >   Magic Number : 0x0 , required : 0x27051956
> >   Image Name:
> >   Image Type:   Invalid CPU Invalid OS Invalid
> Image
> > (uncompressed)
> >    Data Size:    0 Bytes =  0 kB
> >    Load Address: 00000000
> >    Entry Point:  00000000
> >    U-Boot>
> >
> >
> >  I have looked @ the code for NAND write
> >
> >  nand_write() --> nand_write_ecc() -->
> >  nand_write_page() --> nand_write_buf() -->
> writeb()
> >
> >  in nand_write_buf() :
> >
> >  for (i=0; i<len; i++) {
> >       writeb(buf[i], this->IO_ADDR_W);
> >
> > << writeb is defined as
> >    (*(volatile unsigned char *)(a) = (v)) >>
> >
> >  As per the above for loop every character (ie.
> > buf[i])
> > going to written @ the address this->IO_ADDR_W
> (??).
> >
> > But, What we need is, start address and len to
> > write into the NAND device.
> >
> >
> > Can you please look at this and help me in this
> > regard.
> >
> > My main goal here is to write to NAND device.
> >
> > I wrote my own function to write to NAND device,
> but
> > somehow they are getting modified once the command
> > finishes the execution.
> 
> Don't write "own functions". Use the existing ones
> and fix them if necessary.
> 
> Best regards,
> Stefan
> 
>
=====================================================================
> DENX Software Engineering GmbH,     MD: Wolfgang
> Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194
> Groebenzell, Germany
> Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 
> Email: office at denx.de
>
=====================================================================
> 



      Save all your chat conversations. Find them online at http://in.messenger.yahoo.com/webmessengerpromo.php




More information about the U-Boot mailing list