CFFS Project

From DDCIDeos
Jump to navigationJump to search

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

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

  • 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.