u-boot1.1.6 saveenv命令提示 Error: start address not on sector boundary的解决

板子是JZ2440,上面的Nor Flash是 MX29LV160DB的,2Mx8bit或者1Mx16bit,根据原理图得知,使用了16bit模式,

所以各个sector大小如下,后面的都是32k.

u-boot1.1.6 saveenv命令提示 Error: start address not on sector boundary的解决_第1张图片

出现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


改成这样就可以了。

你可能感兴趣的:(嵌入式linux)