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
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source