2.7.1 Flash Mapping Into Data Space not Working Properly

The inter-section Flash protection mechanism does not take into account the FLMAP bit field when checking if the address is in BOOT, APPCODE or APPDATA areas. It uses for comparison only the address offset between Flash start address in data space (0x8000) and the accessed address. This will cause the mirroring of the BOOT area in each Flash section selected by FLMAP (in blocks of 32 KB). Refer to the image below. For read operations, the FLMAP bits work as documented when the Boot Read Protect (BOOTRP) bit is not enabled. For write operations, the inter-section Flash protection works properly only when FLMAP is set to '0x00'.

Work Around

Use only store program memory (SPM) instructions to write and load program memory (LPM) instructions to read Flash memory.

Affected Silicon Revisions

Rev. A6 Rev. A7 Rev. A8 Rev. AB
X X X X