This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Nand flash “ECC: uncorrectable.” Issue



hello,        

         There is a Nand flash “ECC: uncorrectable.” Issue when I boot from nand flash. Now I can boot the u-boot and linux kernel from SD card, and when I try to boot from nand flash after I write all these images into flash, I  encounter this issue, so please help me for this question, thanks in advance!

         I attach some messages for your reference. By the way, I am using the default configuration same as AM335X SK board.

         by the way, if I dump(use nand dump in u-boot) the data from nand flash that I have written them into flash, the data is same as that I have written. but if I try to read(use nand read in u-boot), there is “ECC: uncorrectable.” Issue.

#define PISMO1_NAND_SIZE GPMC_SIZE_128M//GPMC_SIZE_256M

i am using the following configuration(in am335x_evm.h):

#define GPMC_NAND_ECC_LP_x8_LAYOUT 1

#define CONFIG_SYS_NAND_5_ADDR_CYCLE
#define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \
CONFIG_SYS_NAND_PAGE_SIZE)
#define CONFIG_SYS_NAND_PAGE_SIZE 2048
#define CONFIG_SYS_NAND_OOBSIZE 64
#define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
#define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
#define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \
10, 11, 12, 13, 14, 15, 16, 17, \
18, 19, 20, 21, 22, 23, 24, 25, \
26, 27, 28, 29, 30, 31, 32, 33, \
34, 35, 36, 37, 38, 39, 40, 41, \
42, 43, 44, 45, 46, 47, 48, 49, \
50, 51, 52, 53, 54, 55, 56, 57, }

#define CONFIG_SYS_NAND_ECCSIZE 512
#define CONFIG_SYS_NAND_ECCBYTES 14

#define CONFIG_SYS_NAND_ECCSTEPS 4
#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * \
CONFIG_SYS_NAND_ECCSTEPS)

#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE