I am using the 'C6748LCDK' which has a nand flash, MT29F4G16ABADAH4-IT:D, x16
and using the bootloader of the 'C6748_StarterWare_1_20_04_01' as the user bootloader(UBL)
Many documents say that the C6748 has ECC(4b) hardware of EMAIF and RBL uses the functionality.
I wonder whether the ECC is working.
My board is set for nand boot and was working fine.
But It has been not booting yesterday, so I read the boot block(Block=0, pages=0~32) using the function of the startware and XDS100, as follows,
NandStatus_t NANDPageRead(NandInfo_t *nandInfo,unsigned int blkNum,
unsigned int pageNum, volatile unsigned char *rxData,
unsigned char *eccData)
{
The result is follows
typedef enum _NAND_STATUS_
{
NAND_STATUS_PASSED = (0x001),
NAND_STATUS_FAILED = (0x002),
NAND_STATUS_NOT_FOUND = (0x004),
NAND_STATUS_DEVBUSY = (0x008),
NAND_STATUS_DEVWRPROTECT = (0x010),
NAND_STATUS_WAITTIMEOUT = (0x020),
NAND_STATUS_READWRITE_DMA_FAIL = (0x040),
NAND_STATUS_ECC_UNSUPPORTED = (0x080),
NAND_STATUS_READ_ECC_ERROR_CORRECTED = (0x100),
NAND_STATUS_READ_ECC_UNCORRECTABLE_ERROR = (0x200)
}
Reading Blk=1, Page=0. Return Code=0x1
Reading Blk=1, Page=1. Return Code=0x1
Reading Blk=1, Page=2. Return Code=0x1
Reading Blk=1, Page=3. Return Code=0x1
Reading Blk=1, Page=4. Return Code=0x1
Reading Blk=1, Page=5. Return Code=0x1
Reading Blk=1, Page=6. Return Code=0x1
Reading Blk=1, Page=7. Return Code=0x1
Reading Blk=1, Page=8. Return Code=0x1
Reading Blk=1, Page=9. Return Code=0x1
Reading Blk=1, Page=10. Return Code=0x1
Reading Blk=1, Page=11. Return Code=0x1
Reading Blk=1, Page=12. Return Code=0x1
Reading Blk=1, Page=13. Return Code=0x1
Reading Blk=1, Page=14. Return Code=0x1
Reading Blk=1, Page=15. Return Code=0x1
Reading Blk=1, Page=16. Return Code=0x1
Reading Blk=1, Page=17. Return Code=0x1
Reading Blk=1, Page=18. Return Code=0x1
Reading Blk=1, Page=19. Return Code=0x1
Reading Blk=1, Page=20. Return Code=0x1
Reading Blk=1, Page=21. Return Code=0x1
Reading Blk=1, Page=22. Return Code=0x1
Reading Blk=1, Page=23. Return Code=0x1
Reading Blk=1, Page=24. Return Code=0x1
Reading Blk=1, Page=25. Return Code=0x1
Reading Blk=1, Page=26. Return Code=0x100
Reading Blk=1, Page=27. Return Code=0x1
Reading Blk=1, Page=28. Return Code=0x1
Reading Blk=1, Page=29. Return Code=0x1
Reading Blk=1, Page=30. Return Code=0x1
Reading Blk=1, Page=31. Return Code=0x200
Reading Blk=1, Page=32. Return Code=0x200
Bootloader is int page 0~32 and there is an error in Page26.
Page 26 has bit errors but is correctable by RBL ECC hardware
So the booting must be correctly but it isn't.
The C6748's RBL supports ECC?