CFFS Project
Certifiable Fast File System CFFS was ported from the Honeywell Compact Flash File System (CFFS) component, version 5.4.0 to work on PowerPC processors. The final verified version is 7.1.1, since CFFS is being replaced by a new file system.
Overview
The CFFS uses a client and server based architecture. Clients are Deos user applications that link against a CFFS provided library (called the CFFS API) that manages interaction with the CFFS Main Process. The CFFS Main Process is a separate, Deos executable process that manages file system requests from one or more CFFS clients. The CFFS Main Process is isolated from the underlying storage media via library known as the Media Abstraction Library (MAL). The MAL exposes a well-defined software interface to the CFFS Main Process and encapsulates the software necessary to manipulate the physical device.
In the picture below, yellow ovals represent Deos run-time linked shared libraries.
Status
CFFS Server
Customer Specific MAL
| BSP | Verified MAL |
| nai68ppc2 | cffs-sata-atapi |
| Fractal_Program nai68gp2 | cffs-sata-ahci |
| celestial | cffs-sata-atapi |
| de-ls1048a | cffs-sata-ahci (originally cffs-ls1088a-sata) |
| de-ls1043a | cffs-nand-emmc |
| Harrys | cffss32eMMC |
| Hosmer | NOR Flash |
| Kalbi | SATA SSD |
| Lutefisk Phase IV | SATA CFast |
| Maple | PATA CompactFlash |
| imx8qm | cffs-emmc-a |
| t2080rdb-mc | cffs-sata-atapi |
Philosophy on Providing Recommended Deos Platform Registry Settings
The MAL's correct integration plays an important role in the system, but is a black box to our customers. In order to assist with integration, each MAL must come with enough information that one can correctly modify the CFFS server's Deos platform registry settings to use the MAL. We have to provide these recommended settings in the form of a Feature Provider XML which will be reviewed as part of the User Guide. The reasons for these recommended settings, along with the effect of changing some settings (when applicable), will be documented in XML comments next to each attribute in the Feature Provider file.
The customer has the option of using the provided Feature Provider as is, creating their own Feature Provider, or modifying the CFFS server's Process Developer file directly. The reason for providing some reviewed and accepted information on Deos platform registry settings is to allow customers to use it for creating DO-178C Parameter Data Items (if necessary).
Note that putting reviewed and accepted comments in the delivered Feature Provider file depends on OpenArbor 5.8 implementing DDCI_PCR:2921 to treat the desk tree as read-only, and this version (or newer) of OpenArbor being delivered with the MAL.
CFFS Arinc 653 Part 2 Library
CFFS Multicore
Staff
Problem Reporting
Problem reports should be written against the appropriate CFFS sub-component, i.e. API, Process, or the relevant MAL.
A list of all open CFFS PCRs are at this link
Configuration Management
CFFS development work occurs in one or more sub-projects below the CFFS URL
Be A Maintainer
Install Cygwin with Deos and OpenArbor
This has been tested on Microsoft Windows 7 Professional 64-bit, Service Pack 1.
- Download and execute this Cygwin setup.exe.
- From setup.exe, use the dist-elbert Cygwin archive.
- Select the "Curr" or Current option and install the following packages, accepting the Cygwin installer's suggestions for dependent packages:
- deos-maintainer-tools
- customer-[name-based-on-MAL-needed]
You now should have an environment rigged suitable for CFFS development work.
Note that one or more customer packages can be installed, based on which MAL is needed. Each customer package provides the CFFS server, a customer specific MAL, as well as the customer specific platform resources and BSP necessary to build and run the CFFS on the associated reference boards and customer targets.
Try an Example
Some CFFS examples ship with OpenArbor. Follow the steps outlined in the cffs-examples release notes to run it.
Build a CFFS Component
All CFFS components follow the same build procedure. Assuming you've checked out the project per the step described in "Checkout" above:
- Build a MAL (the RAM MAL for example)
$ cd ~/scm/cffs/media-access-library/cffsMALRAM/branches/mainline/ $ ./bootstrap && ./configure && make install
- Manually install into your DESK.
$ cp -rv desk /
See Also
Debugging
Decoders
There are 010 Editor decoder templates available for the CFFS_RAM_RO memory dump, and the NOR Flash binary images located here.
General
- CFFS Porting Notes
- Honeywell CFFS Baseline
- Honeywell CFFS DDD. Note1: Only sections describing CFFS features are relevant. Note2: This is a Microsoft Word document.
- Honeywell CFFS SRS/SRD. Note1: Only sections describing CFFS features are relevant. Note2: This is a Microsoft Word document.
- Honeywell CFFS User Guide. Note1: Only sections describing CFFS features are relevant. Note2: This is a Microsoft Word document.
