else
written = yaffs_WriteDataToFile(f,testStr2,i,strlen(testStr2));
}
+ // some short reads
+ for(i = 1000; i < 50000; i+=2)
+ {
+ yaffs_ReadDataFromFile(f,data,i,20);
+ }
+
yaffs_ReadDataFromFile(f,data,1000,50);
data[50] = 0;
yaffs_ApplyToDirectoryChildren(yaffs_Root(dev),yaffs_DumpObject);
f = yaffs_MknodFile(yaffs_Root(dev),"pfile",0,0,0);
- yaffs_WriteDataToFile(f,testStr,0,strlen(testStr));
+ if(f)
+ {
+ yaffs_WriteDataToFile(f,testStr,0,strlen(testStr));
+ }
yaffs_Link(yaffs_Root(dev),"phl4",f);
}
int main(int argc,char *argv[])
{
+ int nBlocks;
+
#if YAFFS_FILEEM
- device.nBlocks = (64 * 1024 * 1024) / (YAFFS_CHUNKS_PER_BLOCK * YAFFS_BYTES_PER_CHUNK);
+ nBlocks =(32 * 1024 * 1024) / (YAFFS_CHUNKS_PER_BLOCK * YAFFS_BYTES_PER_CHUNK) ;
device.writeChunkToNAND = yaffs_FEWriteChunkToNAND;
device.readChunkFromNAND = yaffs_FEReadChunkFromNAND;
device.eraseBlockInNAND = yaffs_FEEraseBlockInNAND;
printf("Testing on file emulation\n");
#else
- device.nBlocks = (2 * 1024 * 1024) / (YAFFS_CHUNKS_PER_BLOCK * YAFFS_BYTES_PER_CHUNK);
+ nBlocks = (2 * 1024 * 1024) / (YAFFS_CHUNKS_PER_BLOCK * YAFFS_BYTES_PER_CHUNK);
device.writeChunkToNAND = nandemul_WriteChunkToNAND;
device.readChunkFromNAND = nandemul_ReadChunkFromNAND;
device.eraseBlockInNAND = nandemul_EraseBlockInNAND;
printf("Testing on RAM emulation\n");
#endif
+#ifdef YAFFS_START
+ device.startBlock = YAFFS_START; // Don't use block 0
+ device.endBlock = YAFFS_END;
+#else
device.startBlock = 1; // Don't use block 0
- device.endBlock = device.nBlocks - 1;
+ device.endBlock = nBlocks;
+#endif
yaffs_GutsInitialise(&device);
TestTime(&device);
+ printf("Cache hits %d\n",device.cacheHits);
+ printf("Retired blocks %d\n",device.nRetiredBlocks);
+
exit(0);
}