板子是JZ2440,上面的Nor Flash是 MX29LV160DB的,2Mx8bit或者1Mx16bit,根据原理图得知,使用了16bit模式,
所以各个sector大小如下,后面的都是32k.
出现Error: start address not on sector boundary的提示是因为sector配置不对。
正确配置如下:
//JZ2440板子上实际的flash为 MX29LV160B 2M
#define CONFIG_MX29LV160B 1
#ifdef CONFIG_MX29LV160B
#define PHYS_FLASH_SIZE 0x100000 //1M *16bit 2M*8bit
#define CFG_MAX_FLASH_SECT (35) //扇区数
#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0xF8000)
#define CFG_ENV_SIZE0x8000/* Total Size of Environment Sector 32K */
#endif
改成这样就可以了。