Hi all,
I've looked around for a solution to this, but haven't really come up with anything. I'm developing a controller based on the Luminary Micro EK-LM3S8962 evaluation board, and since it has a MicroSD card slot, we're using that as persistent storage for settings.
This has the nice advantage that any settings can be backed up, and potentially viewed, on a desktop computer.
At present we use FAT on the SD card, implemented using the FATFS module from Elm-chan[1]. We're using it with long filename support disabled. A few issues have been hit though.
(1) If files are placed on a system using long filenames, this seems to make the files inaccessible to the microcontroller, even when done on Windows (XP). Only way that seems to work is to mount the card in Linux using the "msdos" driver, and copy them that way. (2) Long filenames don't seem to work... if enabled, I can't find any file. (3) There are patent concirns regarding long filenames and FAT.[2]
For now we'll just continue using FAT... but really, I'd like to move to something else. EXT2 in particular is what I'm considering, as it works nicely with abstracted block devices such as SD cards (which implement wear levelling, unlike raw flash), and can be read from Windows with the installation of a suitable driver (which isn't an issue in our application).
I've heard of the loop-mount solution being brought up... which is a possibility too, but for that to work we'd still need an EXT2 driver.
The catch with EXT2: the only implementation I know of is the one in the Linux kernel. A right pain in the bum to extract and utilise in a standalone setting (think of how FATFS is used)... and legally unacceptable for applications that require static linking with proprietary code (ours does).
Has anyone seen any project that would provide EXT2 support (much like the FATFS module provides FAT support) in bare-iron embedded projects? Or... is there any interest in developing such a project? (Maybe EFSL[3] could make a good basis? I couldn't get it to link... but that looks the closest/best offering.)
Regards, Stuart Longland
Footnotes:
- formatting link
- formatting link
- formatting link