Hi ALL,
最近我们在使用dvsdk402版本的开发板开发dm365,其中使用的nandflash为64MB(NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit))芯片,在dvsdk402版本中提供的内核版本是2.6.32.17,其中board-dm365-evm.c文件中,默认配置使用了2GB的nandflash,我根据我们使用的64MB的nandflash芯片情况重新更改了nandflash分区表数组,修改后如下:
static struct mtd_partition davinci_nand_partitions[] = {
{
/* UBL (a few copies) plus U-Boot */
.name = "bootloader",
.offset = 0,
.size = 30 * NAND_BLOCK_SIZE,
.mask_flags = MTD_WRITEABLE, /* force read-only */
}, {
/* U-Boot environment */
.name = "params",
.offset = MTDPART_OFS_APPEND,
.size = 2 * NAND_BLOCK_SIZE,
.mask_flags = 0,
}, {
.name = "kernel",
.offset = MTDPART_OFS_APPEND,
.size = SZ_4M,
.mask_flags = 0,
}, {
.name = "filesystem1",
.offset = MTDPART_OFS_APPEND,
.size = SZ_48M,
.mask_flags = 0,
}, {
.name = "filesystem2",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
.mask_flags = 0,
}
/* two blocks with bad block table (and mirror) at the end */
};
系统启动后,调用flash_eraseall /dev/mtd3,会出现很多坏块提示(但我在uboot阶段擦除nandflash不会有坏块报出),除了有坏块报出的问题,我感觉其它很多现象都表面/dev/mtdblock*无法正常使用,我有个疑问,会不会是你们的新内核不支持这种低容量的flash了?
Eason Wang:
你应该可以直接去查查这个版本的linux内核对nandflash的支持
zhouzhuan2008 zhouzhuan2008:
回复 Eason Wang:
Hi Eason,
这个内核是你们dvsdk402版本的开发包提供的呀,里面相关的nandflash驱动也是你们提供的,我到哪里去查你们这个内核和驱动是否能正确支持64MB的nandflash呢?
thanks