Hello,
I am using internal FLASH memory on Kinetis Cortex M4F to store configuration, calibrations, logs, etc. IMHO there is enough memory and CPU cycles left to warrant some sort of a small filesystem. Unfortunately small, power-fail safe filesystems are scarce and UFFS seems the best candidate even though it is primarily for NAND. In this regard I have a few questions:
1. MCU has two independent blocks of flash 256kB each. I intend to use one for data storage. Flash is organized into 2 kB erase blocks. Data inside erase block is word (4-byte) writable, e.g. cannot write single bytes. Also cannot write twice to the same word without erase. Well, modern NAND allows only single write to a page, so I presume UFFS should be OK with 4-byte minimum write? How are status byte and seal byte written? That is, how many times does UFFS write to a page?
2. Does anybody have an example of NOR flash implementation that they can share? How do I disable ECC? What flash access functions need to be implemented for NOR?
3. What files need to be provided by a port? I presume they are:
uffs_config.h, uffs_os.c, flash-interface-xxx.c
4. Does anybody have test results for power cycling? I recall somebody mentioned 11kCycles?
Regards,
Sergei