Hello,everyone, I have been trying to manage NandFlash on my board with RL-FlashFs and i succeeded in fformat() two days ago. However, yesterday morning, problems occured: i could not format the flash again. Now, after i changed default values of the struct NAND_DRV_CFG, the format() keeps erasing and can not stop,why? The NandFlash i use is K9K8G08U1M, it has 2112 bytes in a page.
Some say that several configurations may cause this to happen: 1: first block is invalid, i checked it and it turned out to be valid; 2: the parameter of finit() and fformat() :are in forms of "N0:" and "N0: /FAT32",is that right? 3: i should execute LOW_EB or LOW before FAT32, but it did not work; 4: the PageRead or PageWrite function are not right: we should read and write 2112 bytes at a time, is that right? I tested the two functions without the File System and they are right. 5: the datasheet of my NandFlash says that the Bad Block Marker locates at the column 2048, ie, first byte of the spare area, but many say that it locates at the sixth byte of the spare area, which is right? The default setting of the file system locates it at the sixth byte, does that matter? 6: does size of the page cach(1 page)e or the file system cache(1 KB) matter? 7: i set the heap size as 0x800 in my startup routine, is that enough? 8: i used KEIL-MDK V4.6 before and now i use V4.74, the file system library and the file File_lib.c are different, does that matter?
It puzzles me a lot and i will be grateful for your answers!