Author Topic: uFileSystem extended features and revised storage media management  (Read 7541 times)

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3237
    • View Profile
    • uTasker
Hi All

This post focuses on some additional developments that have been performed to improve the operation of the uFileSystem with multiple storage media and to extend its functionality.

First of all, the new revision fo the uFileSystem is discussed (why and what has been done) in the document This rework of the internal operation in respect to multiple storage types and devices doesn't actually affect its use but it does improve its operation (and solve some know problems when files have straddled multiple media or devices) and allow new memory devices to be added much easier based on a generic interface. The media variety has grown with time and it was time to sort out the interface to make it more maintainable.

At the same time there have been some new features added, which allow the original 62 file limit to be extended to virtually any number but still keep the fast, efficient and simple operation for projects that use it for these reasons. In some cases it is also possible to append data to files (useful for applications where data / events are logged and the extra data can be simply added to a file, which was something that was not supported by the uFileSystem itself before.
The new features are detailed in the updated uFileSystem document:

Note that the features can be optionally enabled by their correspronding defines (see document for details) and that the new uFileSystem revision 1 is also optional (in case of problems at the beginning) but it is intended to quickly make it an integral part of the project due to its cleaner structure and inherent advantages.

The Coldfire M522XX project is now available with these new items (others will follow) - here are details for initial users:
1) The append function is only operational with the revision 1 operation enabled
2) The append function requires some temporary backup RAM - see the document for full details - and is not always suitabel when the flash granularity is large (the buffer needs to be the same size...).
3) The append is presently only useable with devices that allow single byte programming (The Coldfire is OK, as are most external storage media). It can't presently be used with devices that need to write flash as short or long words or as a line of bytes (some internal Flash have this restriction so it is processor dependent). This limit will however be removed shortly (the Coldfire release was possible first since it allows accumulative flash writes in its long-word internal flash).
4) There is a new external parallel flash driver for the M5235BCC in the Coldfire project which was added as a test vehicle while testing the new uFileSystem revision 1 to prove the new structure. This would also allow external parallel flash to be easily added to other devices with external memory interface.

Initially I hope that Coldfire users can take advantage of the revised version and I hope to have the same state operational in other projects soon.