hi, Ivan
now the "Empty flash at 0x%08x ends at 0x%08x\n" warning still exist. but I 
agree with you that it doesn't mattter.
the correct steps of are :

hardware enviroment : TI davinci dvevm board
software   enviroment : mvl_lsp_setuplinux_1_10_01_32.bin 

Part I-- make kernel

1.1 add nand partion
static struct mtd_partition nand_partitions[] = {
        /* bootloader (U-Boot, etc) in first sector */
        {
              .name             = "bootloader",
              .offset           = 0,
              .size             = SZ_256K,
              .mask_flags       = MTD_WRITEABLE, /* force read-only */
        },
        /* bootloader params in the next sector */
        {
              .name             = "params",
              .offset           = MTDPART_OFS_APPEND,
              .size             = SZ_128K,
              .mask_flags       = MTD_WRITEABLE, /* force read-only */
        },
        /* kernel */
        {
              .name             = "kernel",
              .offset           = MTDPART_OFS_APPEND,
              .size             = SZ_4M,
              .mask_flags       = 0
        },
        /* file system */
        {
              .name             = "filesystem",
              .offset           = MTDPART_OFS_APPEND,
              .size             = MTDPART_SIZ_FULL,
              .mask_flags       = 0
        }
}; 

1.2 add nand flash support in kernel config
1.3 add jffs2  support in kernel config

Part II make jffs2 filesystem
1.  mkjs.jffs2  -s 512 -e 16384 -n  -r rootfs/   -o image.jffs2

Part III  burn kernel and filesystem  on nand 
 1. flash_eraseall   -j  /dev/mtd3
 2. nandwrite -p /dev/mtd3     image.jffs2

Part IV set enviroment for nand boot

1. setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=off 
root=/dev/mtdblock3  mem=120M rootfstype=jffs2 
4. savenv

Part V boot
tftp 80700000 uImage
bootm 80700000



-----邮件原件-----
发件人: Ivan Tonchev [mailto:[EMAIL PROTECTED] 
发送时间: 2007年9月24日 17:08
收件人: Wu, Ruiyu (GE Healthcare)
主题: Re: 答复: 答复: 答复: Subject: Booting DaVinci with uImage and filesystem on NAND

Hi again,

If this fixes your problem, it would be great if you could:

1. summarize the information from our emails (correct steps, possible problems, 
causes) 2. update the wiki
(http://wiki.davincidsp.com/index.php?title=Category:Linux)
3. post to mailing list

Thanks,
Ivan

Ivan Tonchev wrote:
> Hi Ruiyu,
>
> This is a nasty noninverted ECC problem.
>
> Remove "-p" flag from mkfs.jffs2.
>
> By default, DaVinci NAND driver uses noninverted ECC. This means that 
> empty pages (filled with 0xFF) have zero ECC (0x00000000). When you 
> generate padded jffs2 images and program them with nandwrite, empty 
> pages get written with "non-empty" ECC. After that, when JFFS2 tries 
> to write to these seemingly empty pages, it can't store ECC correctly. 
> This causes "mtd->read(0x400 bytes from 0x0) returned ECC error"
>
> Don't worry about "Empty flash at 0x00003fcc ends at 0x00004000". 
> These messages do not indicate error. You can disable them by patching
>
> --- ti-davinci/fs/jffs2/scan.c 2007-03-26 21:49:16.000000000 +0300
> +++ ti-davinci/fs/jffs2/scan.c 2007-07-04 18:04:12.000000000 +0300
> @@ -418,8 +418,8 @@
> inbuf_ofs = ofs - buf_ofs;
> while (inbuf_ofs < buf_len) {
> if (*(uint32_t *)(&buf[inbuf_ofs]) != 0xffffffff) {
> - printk(KERN_WARNING "Empty flash at 0x%08x ends at 0x%08x\n",
> - empty_start, ofs);
> + D1(printk(KERN_WARNING "Empty flash at 0x%08x ends at 0x%08x\n", 
> + empty_start, ofs));
> DIRTY_SPACE(ofs-empty_start);
> goto scan_more;
> }
>
>
> Ivan
>
>   
_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to