RTEMS: Flash Memory Interface

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Flash Memory Interface
Board Support Packages » ARM » Atmel/Microchip SAM E70, S70, V70 and V71 » Contributed Code

The flash driver manages the programming, erasing, locking and unlocking sequences with dedicated commands.

To implement flash programming operation, the user has to follow these few steps :

- Configure flash wait states to initializes the flash.
- Checks whether a region to be programmed is locked.
- Unlocks the user region to be programmed if the region have locked before.
- Erases the user page before program (optional).
- Writes the user page from the page buffer.
- Locks the region of programmed area if any.

Writing 8-bit and 16-bit data is not allowed and may lead to unpredictable data corruption. A check of this validity and padding for 32-bit alignment should be done in write algorithm. Lock/unlock range associated with the user address range is automatically translated.

This security bit can be enabled through the command "Set General Purpose NVM Bit 0".

A 128-bit factory programmed unique ID could be read to serve several purposes.

The driver accesses the flash memory by calling the lowlevel module provided in Working with EEFC. For more accurate information, please look at the EEFC section of the Datasheet.

Related files :
flashd.c
flashd.h.
efc.c
efc.h.