当使用一个nandflash时,必须仔细检查device ID。 当执行一个读ID命令,就能够知道nandflash device ID。 SAMBA GUI有一个列表(见下面),根据不同的device ID定义了nandflash特性(存储器组织,总线带宽,电压域等) 如果你发现你的nandflash的device ID在下表中,你必须确保nandflash(总线带宽,页面大小,存储器大小,块大小)特性与表中相同,因为静态存储器控制器SMC根据其配置。 如果device ID没有在下表中,必须更新nandflash中使用的相关参数(device ID,总线带宽,页面大小,存储器大小,块大小)。 如果需要可以通过重新编译nandflash applet,修改下表。其源文件在SAMBA GUI安装目录: [安装目录]\applet\at91lib\memories\nandflash\NandFlashModelList.c 请参照SAMBA用户手册来获取更多关于SAMBA GUI定制的细节。 下面是SAMBA GUI nandflash applet中的列表。 下表一行分别为device ID,总线带宽,页面大小,存储器大小,块大小: // Small blocks devices {0x6e, NandFlashModel_DATABUS8, 256, 1, 4, &nandSpareScheme256}, {0x64, NandFlashModel_DATABUS8, 256, 2, 4, &nandSpareScheme256}, {0x6b, NandFlashModel_DATABUS8, 512, 4, 8, &nandSpareScheme512}, {0xe8, NandFlashModel_DATABUS8, 256, 1, 4, &nandSpareScheme256}, {0xec, NandFlashModel_DATABUS8, 256, 1, 4, &nandSpareScheme256}, {0xea, NandFlashModel_DATABUS8, 256, 2, 4, &nandSpareScheme256}, {0xd5, NandFlashModel_DATABUS8, 512, 4, 8, &nandSpareScheme512}, {0xe3, NandFlashModel_DATABUS8, 512, 4, 8, &nandSpareScheme512}, {0xe5, NandFlashModel_DATABUS8, 512, 4, 8, &nandSpareScheme512}, {0xd6, NandFlashModel_DATABUS8, 512, 8, 8, &nandSpareScheme512}, {0x39, NandFlashModel_DATABUS8, 512, 8, 8, &nandSpareScheme512}, {0xe6, NandFlashModel_DATABUS8, 512, 8, 8, &nandSpareScheme512}, {0x49, NandFlashModel_DATABUS16, 512, 8, 8, &nandSpareScheme512}, {0x59, NandFlashModel_DATABUS16, 512, 8, 8, &nandSpareScheme512}, {0x33, NandFlashModel_DATABUS8, 512, 16, 16, &nandSpareScheme512}, {0x73, NandFlashModel_DATABUS8, 512, 16, 16, &nandSpareScheme512}, {0x43, NandFlashModel_DATABUS16, 512, 16, 16, &nandSpareScheme512}, {0x53, NandFlashModel_DATABUS16, 512, 16, 16, &nandSpareScheme512}, {0x35, NandFlashModel_DATABUS8, 512, 32, 16, &nandSpareScheme512}, {0x75, NandFlashModel_DATABUS8, 512, 32, 16, &nandSpareScheme512}, {0x45, NandFlashModel_DATABUS16, 512, 32, 16, &nandSpareScheme512}, {0x55, NandFlashModel_DATABUS16, 512, 32, 16, &nandSpareScheme512}, {0x36, NandFlashModel_DATABUS8, 512, 64, 16, &nandSpareScheme512}, {0x76, NandFlashModel_DATABUS8, 512, 64, 16, &nandSpareScheme512}, {0x46, NandFlashModel_DATABUS16, 512, 64, 16, &nandSpareScheme512}, {0x56, NandFlashModel_DATABUS16, 512, 64, 16, &nandSpareScheme512}, {0x78, NandFlashModel_DATABUS8, 512, 128, 16, &nandSpareScheme512}, {0x39, NandFlashModel_DATABUS8, 512, 128, 16, &nandSpareScheme512}, {0x79, NandFlashModel_DATABUS8, 512, 128, 16, &nandSpareScheme512}, {0x72, NandFlashModel_DATABUS16, 512, 128, 16, &nandSpareScheme512}, {0x49, NandFlashModel_DATABUS16, 512, 128, 16, &nandSpareScheme512}, {0x74, NandFlashModel_DATABUS16, 512, 128, 16, &nandSpareScheme512}, {0x59, NandFlashModel_DATABUS16, 512, 128, 16, &nandSpareScheme512}, {0x71, NandFlashModel_DATABUS8, 512, 256, 16, &nandSpareScheme512}, // Large blocks devices. Parameters must be fetched from the extended I {0xA2, NandFlashModel_DATABUS8 | OPTIONS, 0, 64, 0, &nandSpareScheme2048}, {0xF2, NandFlashModel_DATABUS8 | OPTIONS, 0, 64, 0, &nandSpareScheme2048}, {0xB2, NandFlashModel_DATABUS16 | OPTIONS, 0, 64, 0, &nandSpareScheme2048}, {0xC2, NandFlashModel_DATABUS16 | OPTIONS, 0, 64, 0, &nandSpareScheme2048}, {0xA1, NandFlashModel_DATABUS8 | OPTIONS, 0, 128, 0, &nandSpareScheme2048}, {0xF1, NandFlashModel_DATABUS8 | OPTIONS, 0, 128, 0, &nandSpareScheme2048}, {0xB1, NandFlashModel_DATABUS16 | OPTIONS, 0, 128, 0, &nandSpareScheme2048}, {0xC1, NandFlashModel_DATABUS16 | OPTIONS, 0, 128, 0, &nandSpareScheme2048}, {0xAA, NandFlashModel_DATABUS8 | OPTIONS, 0, 256, 0, &nandSpareScheme2048}, {0xDA, NandFlashModel_DATABUS8 | OPTIONS, 0, 256, 0, &nandSpareScheme2048}, {0xBA, NandFlashModel_DATABUS16 | OPTIONS, 0, 256, 0, &nandSpareScheme2048}, {0xCA, NandFlashModel_DATABUS16 | OPTIONS, 0, 256, 0, &nandSpareScheme2048}, {0xAC, NandFlashModel_DATABUS8 | OPTIONS, 0, 512, 0, &nandSpareScheme2048}, {0xDC, NandFlashModel_DATABUS8 | OPTIONS, 0, 512, 0, &nandSpareScheme2048}, {0xBC, NandFlashModel_DATABUS16 | OPTIONS, 0, 512, 0, &nandSpareScheme2048}, {0xCC, NandFlashModel_DATABUS16 | OPTIONS, 0, 512, 0, &nandSpareScheme2048}, {0xA3, NandFlashModel_DATABUS8 | OPTIONS, 0, 1024, 0, &nandSpareScheme2048}, {0xD3, NandFlashModel_DATABUS8 | OPTIONS, 0, 1024, 0, &nandSpareScheme2048}, {0xB3, NandFlashModel_DATABUS16 | OPTIONS, 0, 1024, 0, &nandSpareScheme2048}, {0xC3, NandFlashModel_DATABUS16 | OPTIONS, 0, 1024, 0, &nandSpareScheme2048}, {0xA5, NandFlashModel_DATABUS8 | OPTIONS, 0, 2048, 0, &nandSpareScheme2048}, {0xD5, NandFlashModel_DATABUS8 | OPTIONS, 0, 2048, 0, &nandSpareScheme2048}, {0xB5, NandFlashModel_DATABUS16 | OPTIONS, 0, 2048, 0, &nandSpareScheme2048}, {0xC5, NandFlashModel_DATABUS16 | OPTIONS, 0, 2048, 0, &nandSpareScheme2048},}; |