RL-ARM: Using on-board NAND flash devices with FlashFS
Information in this knowledgebase article applies to:
fformat() returns "fail", when I run it on my NAND flash device.
1.) Ensure that NAND driver is working correctly. Driver is simple, it performs raw page read, write and block erase operations. If driver is verified to work, then next point is:
2.) If hardware ECC is used, then NAND page data layout must be properly organized, as described in the manual page "NAND Page Data Layout". When hardware ECC is configured to place ECC bytes beyond 5th byte in spare, data layout does not need to be changed since default will be used.
3.) For the development purposed switch /LOW_EB is implemented. The difference between /LOW and /LOW_EB is, that second one erases all good and also all bad blocks. Erasing bad blocks in NAND is not forbidden but it is not recommended. During development customers have often problems, because driver which is not yet working well, marks blocks as bad - this often happens on block 0, which must not be marked as bad, because we write some boot information in it. Therefore during development I advise customers to use fformat ("/LOW_EB") and for final version fformat ("/LOW");
Last Reviewed: Thursday, October 18, 2012
of your data.