AnsweredAssumed Answered

kobs-ng nand flash and large blocks (1MB) imx6

Question asked by flanatic on Oct 2, 2012
Latest reply on Dec 17, 2013 by Yixing Kong
Branched to a new discussion

Hello.  I am currently using kobs-ng to write fcb dbbt and u-boot to nand flash for imx6 processor.  The nand flash I am using has1M blocks  (4096 Bytes per page and 256 pages per block). Does Freescale have a recommended fcb dbbt and bootloader configuration when using blocks of this size? kobs-ng does not seem to handle it efficiently as it's placement of fcb dbbt and bootstreams seems geared towards nand flash with smaller blocks.  In our case I can fit fcb dbbt and u-boot into a single block. Currently kobs-ng with a default stride size of 64 will put all 4 fcb into the first block.  This is not desired since if the first block is bad the system will not boot.  If we change stride size to 128 fcb0 and fcb1 will be put in block0 and fcb2 and fcb3 will be put in block1.  This is better but the dbbt will also span across 2 blocks, and the 2 u-boot images will take up another 2 blocks. This will use up 6 MB of nand flash and result in a lot of wasted space. Is there any reason not to create the fcb dbbt and boot stream as shown below?

 

block0 = fcb0 dbbt0 u-boot0

block1 = fcb1 dbbt1 u-boot1

 

If the CPU stride size is set to 256 if block0 is bad it will jump to block1 and load fcb1 dbbt1 and u-boot in block1. These scheme will use only 2 blocks. This could also be done for 4 blocks.

Outcomes