regression tests

41 views
Skip to first unread message

Sergei Sharonov

unread,
Jul 15, 2015, 8:24:49 PM7/15/15
to uf...@googlegroups.com
Awhile ago I asked about regression tests for uffs that may be suitable for a small embedded system (e.g. no SQL).
Looking around there does not seem to be much available. There are a few useful tests included in utils/mkuffs.c. Then there is quite a bit of stuff in LTP project but most of it are shell scripts or benchmarks. The only (more or less) suitable module is fsx.
See http://codemonkey.org.uk/projects/fsx/ for the history of the fsx code.
Admittedly fsx is poorly written, e.g. bunch of globals and reliance on side effects. However it is claimed to have found numerous problems with various filesystems. I removed mapped io related stuff, reduced memory footprint and got it running with FreeRTOS/uffs on Kinetis internal flash. The test was run for 1000 iterations only as I did not want to wear MCU flash prematurely but it did successfully pass all iterations..

Next thing I intend to do is to add erase signature similar to what JFFS2 does to prevent bit-flipping in partially erased blocks. This is a known serious problem with flash memory. Probably will add it to OOB. Not sure if I should hide it in the flash driver and leave uffs alone or add it to uffs. Comments and suggestions are welcome.

Frankly, I am surprised that UFFS is not getting more attention from embedded community. What is wrong with you ppl ;-)
I was not able to find any other non-commercial embedded filesystem that makes any claims to been power fail safe. Most filesystems available are variants of FAT. And that will last only till you yank power from under it.
Ricky, thank you for all the hard work you put into developing uffs. It is a real gem. Would be nice to add porting guide and regression test suite to simplify porting effort to new platforms.

Regards,
Sergei 

Marc Lindahl

unread,
Jul 15, 2015, 8:59:41 PM7/15/15
to uf...@googlegroups.com
Hi Sergei,
The reason I couldn’t use it - it has a significant RAM footprint for various data structures related to the flash size - for a large flash (8-16GB), the demands are more than e.g. the Kinetis K60 is capable.
But I applaud your work on cleaning it up and adding tests!
And you’re right, it’s pretty much the only game in town.  I was hoping someone would take my port and make a ProcessorExpert component for it, that would make it really easy to use for Kinetis...
Regards,
Marc 

--
You received this message because you are subscribed to the Google Groups "UFFS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to uffs+uns...@googlegroups.com.
To post to this group, send email to uf...@googlegroups.com.
Visit this group at http://groups.google.com/group/uffs.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages