最近玩jz2440开发板,出现环境变量无法保存的问题,折腾好久终于解决了。
Saving Environment to NAND...
Erasing Nand...nand_erase: attempt to erase a bad block at page 0x00000080。
起初尝试nand erase 和nand scrub以及重烧u-boot都无无法解决,后来发现坏块的地方正好是params的开始地址,于是想到把bootloader的分区变大,正好把坏块包含在里边,同时修改环境变量的地址空间。
u-boot打补丁以后修改bootloader大小
vi include/congfigs/100ask24x0.h
#define MTDPARTS_DEFAULT "mtdparts=nandflash0:512k@0(bootloader)," \
"128k(params)," \
"2m(kernel)," \
"-(root)"
然后修改环境变量保存的位置
#