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.

Why we need "nandecc hw 2" in Uboot flashing?

When I flash Uboot in Uboot through TFTP just like 

Flashing U-Boot from U-Boot

in link:

http://processors.wiki.ti.com/index.php/DM816x_AM389x_PSP_U-Boot

I find that sometimes,not always, if I don't send the command "nandecc hw 2" as descriped in the wiki page,Then Board won't boot up.

However,the flash in our board is 1bit ECC,according to the spec of DM8168,we should use software ECC hamming code.

But,if I send command "nandecc sw 0" in the procedure of flashing Uboot,the Board won't boot up in the next power up.

Why does this happen?

  • Hi,

        It is because H/W ECC – BCH8 (nandecc hw 2) is the only ECC algorithm supported by the ROM code which is the first code that runs in the board when you boot. The ROM code can't be changed. Please check NAND ECC algorithm selection section in http://processors.wiki.ti.com/index.php/DM816x_AM389x_PSP_U-Boot.

      You can use "nandecc sw" for the other components like kernel and filesystem but you will need to modify uboot to not change to nandecc hw 2 once it runs, you can check this in the Ridgerun eval SDK, we do something like that to use UBIFS properly.

    -David