PrFILE2
FAT12/16/32, VFAT File System for Embedded Systems

Overview


PrFILE2 is a FAT file system for embedded systems, designed to enable flexible and fast support for application-specific customization requests. Included are many functions required for today's digital home appliances. 
PrFILE2 inherits all the features of File System . It is compatible with File System on the API level, and File System drivers are also very easy to port.  



Supports FAT12/16/32, VFAT (long file names)

PrFILE2 is a FAT file system used in MS-DOS/Windows PCs. This system supports FAT12, FAT16, FAT32, and VFAT (long file names). Building a system by embedding PrFILE2 makes it easy to exchange data between devices and PCs.



Multilingual support with dynamic character code changing function

ASCII, SJIS (Japanese), Big5 (Traditional Chinese), GB (Simplified Chinese), Latin-1 (Western European languages), Latin-2 (Central/Eastern European languages), Thai, Korean, Cyrillic, and Arabic character codes are supported.
The local character code to be used can be changed dynamically in PrFILE2. This function provides support via a single object code when shipping and selling the final product to different countries and regions, without needing to change or recompile the source code.




Optional product for specifying file names with Unicode

An optional product is available with APIs that can use Unicode when specifying the file name in an open or search API, instead of the local character code such as SJIS.




Flexible support for application-specific customization requests

Today's embedded systems, including digital cameras, portable music players, and digital home appliances such as flat-screen TVs, are highly diverse in terms of the media used, the types and size of the handled data, and the application characteristics. Therefore, the file system needs to support a wide range of functions and performance. PrFILE2 is designed to enable flexible and fast support for application-specific functions for the development of products with high added value. 




File high-speed seek function

PrFILE2 can store the cluster link information of each file in a buffer specified by the application. When seeking through the file, this information in the buffer is referenced to enable high-speed file pointer movement by minimizing the number of references to the FAT. Especially when seeking forward from the current file pointer location, performance is dramatically improved because unlike seeking by referencing the FAT, there is no need to follow the link from the first cluster of the file. This function is particularly effective for systems that handle data such as video and audio.




File splitting and merging APIs for video and audio data

Especially when handing video or audio data, sometimes a single file needs to be split or multiple files need to be merged. For example, when an edit function is used to cut unwanted parts of a video, or combine two audio files into one. When splitting a file into two in a conventional file system, the application must copy the data of each split part to an unused data area, create two new files, and then delete the original file. In PrFILE2, APIs are provided that split and merge files using FAT and directory entries only, which eliminates multiple steps in the procedure and results in higher performance.




File data fragmentation reduction function

In a FAT file system, file data becomes fragmented over time as data write and delete operations are performed repeatedly. As a result, the number of media accesses required to read or write a file increases, and performance deteriorates. PrFILE2 provides a function for minimizing fragmentation of file data.




Multi-drive support

Multiple drives are supported. Multiple drives of the same type or different types can be handled as a:, b:, and so on. Multiple drives can be accessed simultaneously.




FAT and data caching

PrFILE2 provides a function for caching FAT, directory entries, and data. By using this function, the access count to media is minimized for higher performance.




Tunable memory area

Settings such as the cache buffer size to be used can be tuned as appropriate for the system during configuration. 




Adjustable code size

Code size is minimized by linking only the APIs actually used by the application.




Coexists with standard C library

PrFILE2 provides a mechanism to prevent conflicts between function names and variable types, which enables File System and the standard C library to be used simultaneously.




Reentrant structure

The re-entrant structure of PrFILE2 enables simultaneous access to multiple files in a multitasking environment. 




Supports POSIX-like file APIs

Easy-to-use POSIX-like APIs are provided. 




Sample drivers provided as standard

 PrFILE2 provides the following drivers as standard.
 o RAM disk
 o Pseudo disk

     In addition, the following drivers are provided as options.
     o ATA SD Memory Card
     o CompactFlash
     o Memory Stick



Supports eMCOS, T-Kernel and T-Engine


PrFILE2 supports eMCOS, T-Kernel and T-Engine.




High portability

PrFILE2 itself is written in the C language and is not dependent on any CPU. Device drivers and code dependent on the operating system are separated to ensure easy porting to a different environment. The file system can even operate in an environment without an operating system.




Source code provided

PrFILE2 is provided as source code.




Maintenance service and customization service

The following maintenance service is provided. The maintenance service enables developers to use PrFILE2 with peace of mind.

o  Response to email inquiries regarding the product

o  Minor version upgrades

In addition, a customization service is available for supporting PrFILE2 in different environments, such as a custom real-time operating system or hardware. 





Architecture diagram for PrFILE2



Operating environment


PrFILE2 is not dependent on any particular hardware or operating system.
Successful operation has been demonstrated on the following operating systems.

 o   eSOL's eMCOS POSIX (extended T-Kernel)
 o   eSOL's eT-Kernel (extended T-Kernel

Support LP64:It is possible to build and operate in 64bit CPU environment


Optional products


This optional product for PrFILE2 provides a recovery function in case an inconsistency occurs in the file system, such as after an unexpected power shutoff or media removal.

Supported FAT file system: FAT32





This optional product for PrFILE2 provides a multilingual support function that enables use of Unicode for specifying file names.




This optional product for PrFILE2 provides partition editing programs that support MBR partitions and logical format programs that support FAT12/16/32 and VFAT.




This optional product for PrFILE2 is a device driver for SD memory cards and MultiMediaCards (MMC).
Supported controller: TMS320DM320 built-in controller, etc.




This optional product for PrFILE2 is a device driver for CompactFlash (CF).




This driver is for "Memory Stick" made by Sony Corporation. Memory Stick PRO is supported.