在移植mtd-utils时遇到个问题,就是使用nandwrite写入文件系统的映像(jffs2格式)时,出现:Unknown flash (not normal NAND) 错误,通过查看源码,这个错误是在程序中检测flash的页面大小处打印的, /* Make sure device page sizes are valid */ if (!(meminfo.oobsize == 16 && meminfo.oobblock == 512) && !(meminfo.oobsize == 8 && meminfo.oobblock == 256) && !(meminfo.oobsize == 64 && meminfo.oobblock == 2048)) { fprintf(stderr, "Unknown flash (not normal NAND)\n"); //here //close(fd); //exit(1); //09-06 } 然后我在程序中将meminfo结构中的各个变量都打印出来,发现meminfo的值都不太对,不知道为什么。 信息如下: start update config_dev... Open the mtd_device in nandwrite get the device info!
mtd info: mtdinfo.type: 3 mtdinfo.flags: 5 mtdinfo.size: 1048576 mtdinfo.erasesize: 131072 mtdinfo.oobblock: 0 mtdinfo.oobsize: 0 mtdinfo.ecctype: 0 mtdinfo.eccsize: 0
Unknown flash (not normal NAND)
只有size正确,其他的都不对。 大家有没有遇到过这个问题的?
|