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.

strange problem about using nand flash (yaffs2)

I used the nand flash (HY27UF(08_16)4G2B 4G-bit(512M), pagesize = 2K, eraseblocksize = 128K,). I can put the kernel image to the nand flash successfully. But

when I put the root file system to the mtdblock3 on linux(flash_eraseall /dev/mtd3, mount –t yaffs2 /dev/mtdblock3 /mnt, cd /mnt, tar xf dm355_flash_image_1_30_00_40.tar)

I can not see anything in the mtdblock3 partition using ‘mount –t yaffs2 /dev/mtdblock3 /mnt/flash/’.

And when I checked the partition usage using ‘df –h’, I saw that it is no available space on mtdblock3. Please give me help. Thanks.

 

Some error message :

Using flash_eraseall /dev/mtd3

 

Erasing 128 Kibyte @ f2a0000 -- 60 % complete.

flash_eraseall: /dev/mtd3: MTD Erase failure: Input/output error

Erasing 128 Kibyte @ 12e20000 -- 75 % complete.

 flash_eraseall: /dev/mtd3: MTD Erase failure: Input/output error

Erasing 128 Kibyte @ 18fe0000 -- 99 % complete.


  • this is likely because the kernel may not have the proper support for that particular NAND device; you may have to modify the NAND driver to support your particular device.

  • Juan,

    Could you please show me some details about how to  change the nand flash driver code to support my particular NAND device? Thanks very much.

    Regards,

    Jeff

  • Jeff,

    As much as I would like to help, this is not something I can do in a timely fashion if at all.  FYI, it would be impossible for us to include support for all existing and future NAND devices as it would not be feasible for us to test this; but we do provide the Linux source code for the drivers so customers can modify them as needed.  Personally, I am not that intimate with NAND driver itself yet and have too many things in my plate to allow me to get to this in a timely manner; therefore, I would really encourage you not to wait for me and start digging into this yourself.  It is probrably some configuration parameters (total size, page size, block size,...) in the top layer of the driver; it should not require major changes.