Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The sections in this chapter describe each required function and give hints for implementers. Anyone creating a new port should first check the example ports that are included in the µC/FS distribution in the following directory:

...

The port being contemplated may already exist; failing that, some similar CPU/device may have already be supported.

Panel
titleµC/FS ports architecture

Image Added


Panel
bgColor#f0f0f0

(1) µC/Clk act as a centralized clock management module. If you use an external real-time clock, you will have to write functions to let µC/FS know the date and time.

(2) The CPU port (within µC/CPU) adapts the file system suite to the CPU and compiler characteristics. The fixed-width types (e.g., CPU_INT16U) used in the file system suite are defined here.

(3) The RTOS port adapts the file system suite to the OS kernel (if any) included in the application. The files FS_OS.C/H contain functions primarily aimed at making accesses to devices and critical information in memory thread-safe.

(4) µC/FS interfaces with memory devices through drivers following a generic driver model. It is possible to create a driver for a different type of device from this model/template.

(5) The SD/MMC driver can be ported to any SD/MMC host controller for cardmode access.

(6) The SD/MMC driver can be ported to any SPI peripheral for SPI mode access.

(7) The NAND driver can be ported for many physical organizations (page size, bus width, SLC/MLC, etc.).

(8) The NAND driver can be ported to any bus interface. A NAND device can also be located directly on GPIO and accessed by direct toggling of port pins.

(9) The NOR driver can be ported to many physical organization (command set, bus type, etc.).

(10) The NOR driver can be ported to any bus interface.

(11) The NOR driver can be ported to any SPI peripheral (for SPI flash).