| |
File I/O Products

A flash logger, smxFLog™, and two SMX file systems are available: smxFS™ and smxFile™. Both are FAT file systems and both are media-compatible with DOS and Windows. smxFS is a small file system that is ideal for small embedded systems. It specializes in support of flash media such as USB thumb drives, SD/MMC cards, and NAND flash arrays. smxFile is a full featured, larger file system with many drivers for mechanical media including ATAPI devices. It offers higher performance for data streaming to hard disk. Each file system is discussed in more detail below.
smxFLog
smxFLog is a simple flash logger that provides high-speed, reliable data logging to NAND or NOR flash memory. Logging data is a common operation in embedded systems, and warrants a good solution. It is a sequential operation consisting of appending data to a file. This is not efficient in FAT file systems writing to flash media.
smxFS
smxFS offers a clean, modular design that enables embedded developers to easily add file I/O to their projects. smxFS supports both removable media such as USB thumb drives and CompactFlash and non-removable media such as NAND flash disks. Removable media are DOS/Windows compatible so that they may be exchanged with Windows and other compatible RTOSs.
smxFS is a FAT file system for hard real-time embedded systems. It requires minimal ROM and RAM, thus allowing it to be used in very small embedded systems, as well as in larger ones. smxFS supports FAT12/16/32 and VFAT (long file names compatible with Win32 operating systems). It uses the standard C library file API (i.e. fopen(), fread(), etc.) that is familiar to most C programmers. These functions are reentrant so that smxFS is safe for multitasking.
smxFS offers drivers for the media commonly used in modern embedded systems (see below). New drivers are easily added by implementing seven interface functions and registering the driver with smxFS. No changes to smxFS are required.
What is FAT?
The FAT (File Allocation Table) is a structure on a disk that maps the blocks of disk space occupied by individual files on that disk. These blocks are called clusters. A cluster is a group of sectors, which is the smallest addressable unit of a disk. Sectors are typically 512 bytes in size. The number of sectors per cluster is constant for the entire disk. Files typically contain many clusters. FAT entries are in the same order as physical clusters on the disk and correspond one for one with them. Each FAT entry points to the next FAT entry for the same file or directory (Note: Directories are treated as files.) A special value indicates the end of the file. The size of FAT entries dictates the size of the FAT and the maximum size of the disk. There are 3 common FAT entry sizes in use:
FAT12 up to 4,078 clusters
FAT16 up to 65,518 clusters
FAT32 up to 268,435,438 clusters
smxFS Development Services
- Media drivers
- Porting and integration
Additional media drivers are being developed—contact us for the latest information.
Want more information?
smxFile
smxFile is a robust, DOS-compatible file system for hard real time embedded systems. It supports mostly mechanical drives and magnetic media (see driver list below). smxFile features high-performance file I/O and also provides directory management. It is written in ANSI C. Source code is provided. The API is similar to POSIX and DOS. The device driver interface is similar to UNIX, but simpler. smxFile supports ARM, Coldfire, PowerPC, x86 real mode, and x86 protected mode processors.
This file system is one of a series of DOS file system software packages that have been marketed since 1987. It and its predecessors have been included in hundreds of commercial embedded applications. smxFile is integrated with SMX® and is task-safe. Multiple tasks may perform simultaneous file i/o. Low-level I/O calls to the same disk are serialized via semaphores since actual disk operations are inherently non-reentrant. smxFile permits preassigning contiguous clusters to a file, if available. This permits high transfer rates because track motion is reduced for accessing successive file clusters. Since FAT entries for successive file clusters are adjacent, less FAT accesses are also required. smxFile has long file name (VFAT) support. It will read and write Microsoft Win32-compatible, long file names.
Use smxFile for mechanical drives such as hard disks and removable magnetic media.
USB Flash Disks
These devices, commonly known as USB thumb drives or USB memory sticks are becoming increasingly popular due to their convenient size, high capacities, and low cost. We offer a USB disk driver (usbdd) for both smxFS and smxFile. This driver is a reduced version of smxUSBH plus the mass storage driver. In order to use it, you must have a supported USB host controller, either on-chip or external. See the smxUSBH data sheet for details.
Want more information?
To learn more about SMX File System products see:
- smxFLog Datasheet
- smxFS Datasheet
- smxFile Datasheet
- smxUSBH Datasheet
Register now for more information and to be contacted by a product expert. Registration also enables us to mail you printed literature and is necessary to qualify for a free evaluation kit.
|
|
............................................................... |
................................................................
|
| |
 |
Register now for more info. |
| |
| |
 |
smxFS Features
- FAT 12/16/32 and VFAT
- DOS/Windows Media Compatible
- Media Drivers:
• USB Mass Storage
• SD/MMC (Bus or SPI)
• CompactFlash
• ATA/IDE Hard Drive
• RAM Disk
• NAND Flash Disk
• NOR Flash Disk
• Serial NOR Flash Disk
• DiskOnChip®
- Up to 2 Terabyte Disk Size
- 15 KB Typical Code Footprint
- 7 KB Typical Data Footprint
- Standard C Library file API
- Multitasking Support
- Source Code Included
- Integrated with SMX® RTOS
- Runs stand-alone or easily portable to other RTOSs
- Processor independent
|
| |
 |
smxFile Features
- FAT 12/16/32 and VFAT
- DOS/Windows compatible
- Extensive drivers:
• Floppy
• IDE Hard Disk and Ultra DMA
• USB Mass Storage
• CompactFlash
• DiskOnChip®
• PCMCIA-ATA
• ATAPI
• LS-120
• Zip®
• SCSI
• RAM disk
• ROM disk
• BIOS devices
- 20 Mbytes/sec sustained transfer rate
(IDE Ultra DMA)
- Up to 2 terabyte disks
- 55 KB typical code footprint
- 20 KB typical data footprint
- Multitasking support
- Contiguous file support
- Source code included
- Fully integrated with SMX®
|
|