Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

Checking ECC operation

From Texas Instruments Wiki
Jump to: navigation, search

Content is no longer maintained and is being kept for reference only!

This page documents the procedure to check whether Error Correction (1 bit or 4 bit) is working correctly from UBL or not on DM365 platform. This has been tested using PSP release 03.21.00.04 which can be downloaded from http://software-dl.ti.com/dsps/dsps_public_sw/psp/LinuxPSP/DaVinci_03_21/03_21_00_04/index_FDS.html.

  • Flash the prebuilt UBL (DaVinci-PSP-SDK-03.21.00.04/images/boot-strap/serial_flash/dm36x/ubl_DM36x_ARM297_DDR243_OSC24_NAND.bin) and U-Boot (DaVinci-PSP-SDK-03.21.00.04/images/u-boot/dm36x/u-boot.bin) images onto NAND flash either using serial flash writer or CCS.
  • When CCS is used for flashing, U-Boot image gets flashed at NAND offset 0x320000.
  • Modify the DM365 board file arch/arm/mach-davinci/board-dm365-evm.c file under the DaVinci-PSP-SDK-03.21.00.04/src/kernel/linux-03.21.00.04 and make the first NAND partition as read/write.
  • Build Linux kernel and boot the EVM with this kernel image.
  • From Linux prompt, read the U-Boot contents and store in a file.
target$ nanddump -f correct_dump -l 0x60000 -s 0x320000 /dev/mtd0
  • Edit the file and introduce a 1 bit error at some offset and save the modified file.
  • Erase the blocks in which U-Boot is stored.
target$ flash_erase /dev/mtd0 0x320000 3
  • Write back the data which has the incorrect data:
target$ nandwrite -n -o -s 0x320000 /dev/mtd0 incorrect_dump
Where:
-n, --noecc             Write without ecc
-o, --oob               Image contains oob data
  • Reboot the EVM. If UBL is able to correct the data, then U-Boot should boot up without any problem.