我自己结一下:
1、配置fw_env.config,并copy到/etc/下,其实编译的时候不需要这个配置文件,是运行的时候解析的
/dev/mmcblk0 0xc0000 0x2000 0x2000
2、修改fw_env.c, 去掉两个ioctl操作,并把DEVTYPE改为nor flash
/*
if (ioctl (fd, MEMERASE, &erase) != 0) {
fprintf (stderr, "MTD erase error on %s: %s\n",
DEVNAME (dev),
strerror (errno));
return -1;
}
*/
/*
rc = ioctl (fd, MEMGETINFO, &mtdinfo);
if (rc < 0) {
perror ("Cannot get MTD information");
return -1;
}
if (mtdinfo.type != MTD_NORFLASH && mtdinfo.type != MTD_NANDFLASH) {
fprintf (stderr, "Unsupported flash type %u\n", mtdinfo.type);
return -1;
}
DEVTYPE(dev_current) = mtdinfo.type;
*/
DEVTYPE(dev_current) = MTD_NORFLASH;
|