On Saturday 29 May 2010 03:31:11 Dhivya Ayyappan - ERS, HCL Tech wrote:
> Hi All,
>
> I have ported the yaffs2 file system to Threadx OS. The nand flash used is
> of size 256 mb. I am able to mount, create the files, directories, file
> read, write,dump etc and unmount it. After unmount, again able to mount it
> and it restores from checkpoint succesfully.In the second time if i try to
> create the files of size greater than the block size (i.e) exceeding the
> current block and moving to next block(seems like checkpointed block).In
> that case it is skipping the checkpointed block and continue its writing in
> the next block with messages in the console "Block was not erased, yaffs
> write require 2 attempts" and file created in flash.and after that unmount
> is done at last...
> Third time,during mounting, some error messages are seen in the console and
> entire file system gets corrupted.
> Checkpoint block count wrong dev 1 count 0
> Erased block count wrong dev 975 count 976
> Freechunks verification failure 63823 63887 -64
> yaffs: restored from checkpoint
> Freechunks verification failure 63823 63887 -64
>
> Could anyone please help me out in solving this issue. Any suggestions are
> welcome.
> Thanks,
Hello Dhivya
There is likely something odd going on in your flash interfacing.
There are a few interacting mechanisms so it is better to try to work on one
issue at a time.
I suggest that you do the following:
* Disable checkpointing and caching by setting
skipCheckpointRead = 1;
skipCheckpointWrite = 1;
nShortOpCaches = 0;
* Enable all verification etc by setting yaffs_treaceMask = 0xffffffff;
Once you have that working then turn the checkpointing and caching back on and
see if that works.
-- Charles