CMX Systems
cmxFlash File Systems



CMX-FFS-TINY is a full-featured flash file system targeted at embedded devices with limited resources available to them and a requirement to reliably store and retrieve data from Flash devices including ST Serial, Small Sector Byte Writable, SST and DataFlash.

Flash devices are inherently complex and every flash type has different characteristics. Each flash type is analyzed and a specific version of CMX-FFS-TINY is designed. The result is that the features of a particular device are hidden from the developer. Data can be stored position independently without having to worry about partial writes, partial erases, cumulative erase times and other flash details.

CMX-FFS-TINY opens up new possibilities for developers delivering reliable storage on the smallest devices without having to be flash or file system specialists.

Typical usage includes:

  • Configuration Files
  • Product Customization Files
  • Diagnostic Storage
  • Data Logging

Key Features

  • Standard File API (fopen(), fread() etc.)
  • Fail-safe
  • Long Filenames
  • Highly Scalable
  • Minimal Footprint
  • RAM usage <200 Bytes
  • ROM usage 4-10K
  • Multiple Flash Types
  • Multiple Simultaneous Files Open
  • RTOS Independent
  • Royalty Free Source
  • Comprehensive Programmer's Guide

Target Specific Packages

The CMX-FFS-TINY file system options include:
CMX-FFS-TINY-DF for Atmel DataFlash
CMX-FFS-TINY-ST for ST Serial Flash devices
CMX-FFS-TINY-BW for Small Sector Byte Writable and SST Flash
CMX-FFS-TINY-RAM for use as a RAM drive

Fail-Safe File System

CMX-FFS-TINY has been designed from conception as a completely fail-safe file system. This means that if an unexpected reset or system failure occurs then regardless of what operation was in progress the file system will restart cleanly with no recovery procedure. Any open file that has not been closed will be available in its pre-open state. Any closed file will be available in its new state.

DataFlash Management Layer

CMX-FFS-TINY-DF includes a unique DataFlash Management Layer (DFML). The DFML has been specifically developed to enable all Atmel's DataFlash devices to be used in a reliable and failsafe way. For more detailed information please consult the CMX-FFS-TINY-DFML datasheet.

Devices Supported

CMX-FFS-TINY has been tested on many Atmel DataFlash devices, ST Serial Flash devices and other Small Sector Byte Writeable Flash devices. Please contact CMX for specific devices supported.

Target Environments

CMX-FFS-TINY has been developed and tested on a range of 8, 16 and 32 bit MicroControllers. It has also been compiled with multiple tool chains to ensure ease of portability. CMX-FFS-TINY should be able to run on any system with >10k bytes ROM, >0.5K bytes RAM.

Application Programmer's Interface

A standard file API is provided with standard call parameters. These routines allow easy initialization and management of files, directories with complete wild card support. Applications written for other platforms can work without modification with CMX-FFS-TINY.

The complete list of API functions is provided below.

f_getversion() f_chdir() f_eof() f_findnext()
f_init f_rmdir f_rewind f_settimedate
f_format f_open f_putc f_gettimedate
f_getfreespace f_close f_getc f_setattr
f_setlabel f_write f_rename f_getattr
f_getlabel f_read f_delete  
f_getcwd f_seek f_filelength  
f_mkdir f_tell f_findfirst  
All content is subject to change without notice
Copyright material 2014© All Rights Reserved. Site and all contents are the sole property of CMX Systems, Inc.
No part of this site may be copied or used without the express written permission of the owner.
Web Services by Unicorn Web Development, Inc.