How Reliance Edge Supports MQX?

Reliance Edge is deeply integrated with MQX, enabling developers to exchange the default file system for Reliance Edge without making extensive changes to their applications.

In MQX, file system drivers and I/O device drivers are all accessed by the application through the Virtual File System (VFS), allowing applications to access any storage device through a generic interface, such as ‘fopen()’. The path given determines which file system volume or device will be accessed (e.g. fopen("/myvolume/myfile")). Reliance Edge also behaves this way, so programs that function with any other file system will continue to work with minimal changes if the underlying volume is mounted with Reliance Edge instead of the original file system.The exception is that the File System Essentials API requires direct access to the Reliance Edge APIs, allowing the developer to keep RAM and CPU requirements at a minimum.

MQX file system, Reliance Edge integrates with the VFS to access the underlying storage media, meaning that it can be used with any block device driver ported to MQX without modification. However, like MQX’s MFS file system, Reliance Edge requires a special driver to use raw flash media, such as Datalight’s FlashFX Tera.

MXQ File System Reliance Edge

What is the existing file system and how does Reliance Edge compare?

MQX ships with MFS, a FAT12/16/32 file system. It also includes a module called Trivial File System (TFS), which is a very limited read-only RAM file system used only for special use cases. The following table compares Reliance Edge with MQX MFS.

                                                                                      

Reliance Edge, POSIX-like API

MQX MFS

File System Type Transactional FAT
Reliability Full transactional reliability Vulnerable to corruption from power failure
File System API Accessed through MQX VFS or the File System Essentials API Accessed through MQX VFS
Configurability File System APIs and on-disk format highly configurable at compile time; transactional behavior configurable at runtime Limited compile-time configuration options

For a generic comparison of Reliance Edge vs FAT and other file systems, see the product introduction section of the Reliance Edge developers’ guide.