AnsweredAssumed Answered

Factory Image for IMX6UL

Question asked by david deyo on Nov 30, 2017
Latest reply on Feb 19, 2018 by david deyo

I am looking to find the method, recommended by NXP, to successfully make a factory image of a nand chip for

manufacturing.  The image, or images, should cover the entire chip and should be capable of being burned

directly to multiple nand flash chips in an assembly line.  The nand chip is the Micron MT29F32G08CBADA.  The

controller is the IMX6UL.  The only method where I have successfully created a set of images and re-burned

them was using nanddump and nandwrite.  But this process was done on the same board, using the same nand and SOM.

And this process is incompatible with our manufacturer.


Whenever I take those images and burn them to a different nand, using Dataman, it won't boot.  The burner

I'm using is the Dataman-48Pro2.  I have tried burning images, that have been pulled using nanddump that worked using the nandwrite method.  I have also tried desoldering a working nand chip, reading the image off , burning that image to a new

chip and soldering that chip down.  Nothing has worked. 


Since kobs-ng is how the mfgtool writes uboot to nand, it seems the best place to start.  According to it's output, kobs-ng

writes three sections for uboot:  fcb(4 copies), dbbt(4 copies) and the bootstream ( 2 copies of uboot binary). 

The sections dbbt and uboot seem to be treated similar in terms of OOB data.  The fcb section, however, seems

unique in that it doesn't seem to use ecc. 


The method I used to create a backup and re-write images to nand, that successfully boots, is below:


nanddump -o  -n -f fcb.bin       -s <start addr> -l <length> <device>

nanddump -o  -f dbbt.bin         -s <start addr> -l <length> <device>

nanddump -o  -f bstream.bin   -s <start addr> -l <length> <device>



nandwrite -o -n -s <start addr>  <device> fcb.bin  
nandwrite -o -n -s <start addr> <device> fcb.bin
nandwrite -o -n -s <start addr> <device> fcb.bin   

nandwrite -o -n -s <start addr> <device> fcb.bin
nandwrite -o -s <start addr> <device> dbbt.bin
nandwrite -o -s <start addr> <device> dbbt.bin   
nandwrite -o -s <start addr> <device> dbbt.bin
nandwrite -o -s <start addr> <device> dbbt.bin
nandwrite -o -s <start addr> <device> bstream.bin
nandwrite -o -s <start addr> <device> bstream.bin


One of our partners is using a TI arm based som.  They have a working process using nanddump.  The difference is that

we use the IMX6UL and it has the first boot function (xloader) embedded in it's rom where the TI arm doesn't.  Is it possible

that the imx6 has a unique ecc algorithm that currently isn't supported by our burner?


This problem can't be new.  Someone has to have solved the problem of creating a factory image for the IMX6UL using the

nand chip mentioned above.  Does anyone know what NXP recommends for creating a factory image?