# Library Forms

The flash library is available in two forms:

1. As a static library, accessed by including the flash.h header file and linking against the libflashlib.a library object
2. As a Program ROMcomponent, accessed as memory mapped elements using the flash_rom.h header file

For the complete flash library API, refer to Chapter 1 "Flash Library Reference" on page 1.

IMPORTANT: A copy of the flash library has been built into the ROM, as described in Vector Tables, for use in applications. All functions provided by the flash library must be executed from RAM or ROM, as executing them from flash can result in hidden, flash-access-related failures.

CAUTION: Performing flash operations requires certain system conditions to be satisfied to ensure that the operations are performed safely (see the RSL15 Hardware Reference for more details). When using the flash library as a ROM component, through the flash_rom.h header file, checks of these conditions will be performed by the API functions (and the operation aborted if one of the conditions is not satisfied). When using the flash library as a static library, through the flash.h header file, the checks of these conditions will be circumvented and the user must ensure their application meets the conditions for safe flash operations.