HI:
芯片是dm8168,原来采用的是官方EVM板上的256MB的nand flash ,产品需要,换了4GB的大flash,根据手册要求,选用MT29F32G08CBAAA这块芯片:
页大小和块大小都符合dm8168手册的要求。
我用的环境是:ezsdk 5.05 (校验都是bch8)
现在的问题是:
1、我用spi启动u-boot;
2、在u-boot界面下下载内核,烧写到nand flash 0X280000 对应位置上,都没有问题,命令如下:
nand erase 0x280000 0x300000;
nand write 0x81000000 0x280000 0300000;
并且使用nand dump 0x280000 之后,里面的数据都和内存里面的是一样的。
3、之后使用nand read 0x81000000 0x280000 0x300000出现如下错误:
ti8168_evm#nand read 0x81000000 0x280000 0x300000
NAND read: device 0 offset 0x280000, size 0x300000
Skipping bad block 0x00280000
Skipping bad block 0x00300000
Skipping bad block 0x00380000
Skipping bad block 0x00400000
Skipping bad block 0x00480000
Skipping bad block 0x00500000
Skipping bad block 0x00580000
Skipping bad block 0x00600000
4、使用网络挂载的方式进入linux,用cat /proc/mtd 查看flash分区,出现如下现象(mtd0-mtd3是nor flash的分区):
root@dm816x-evm:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00010000 00008000 "U-Boot"
mtd1: 00000000 00000000 "U-Boot Env"
mtd2: 00010000 00008000 "Kernel"
mtd3: 00000000 00000000 "File System"
mtd4: 00000000 00000000 "U-Boot"
mtd5: 00000000 00000000 "U-Boot Env"
mtd6: 00000000 00000000 "Kernel"
mtd7: 00000000 00000000 "File System"
mtd8: 00000000 00000000 "Reserved"
如果是用官方那块256的nand,这里的打印信息都是正确的。
我查看了相关的帖子,发现都是ecc校验的问题,但是ezsdk 5.05这个版本的都是bch8校验方式,请问问题可能出在什么地方?内核也无法识别,是不是8168或者ezsdk这个版本不支持这么大的nand?
谢谢
BR