From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gray Remlin Date: Wed, 12 Feb 2014 21:04:13 +0000 Subject: [U-Boot] NAND bad block Query Message-ID: <52FBE1CD.4040009@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Example taken from include/configs/sheevaplug.h #ifdef CONFIG_CMD_NAND #define CONFIG_ENV_IS_IN_NAND 1 #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K */ #else #define CONFIG_ENV_IS_NOWHERE 1 /* if env in SDRAM */ #endif /* * max 4k env size is enough, but in case of nand * it has to be rounded to sector size */ #define CONFIG_ENV_SIZE 0x20000 /* 128k */ #define CONFIG_ENV_ADDR 0x60000 #define CONFIG_ENV_OFFSET 0x60000 /* env starts here */ In the above configuration CONFIG_ENV_SIZE == CONFIG_ENV_SECT_SIZE, that is, the erase block size. If there is just one bad block in the NAND mapped for the environment does this mean that 'saveenv' will fail ? If so, shouldn't CONFIG_ENV_SIZE be set to less than CONFIG_ENV_SECT_SIZE (but be a multiple of the write sector size) to allow for bad block skipping ? I am tired and have a headache that wont go, please don't scold me too harshly if I am being stupid....