Factory Information Configuration Registers (FICR)s are pre-programmed in the factory and cannot be
erased by the user. These registers contain chip-specific information and configuration.
Using the standard Serial Wire Debug (SWD)
Arm®
CoreSightâ„¢
Debug Access Port (DAP) protocol:
-
Read the INFO.CODEPAGESIZE register (0x00FF0220) of the FICR.
The value of this register contains the code memory page size in hexadecimal
format, so 0x00001000 stored in this register corresponds to a
page size of 4096 bytes.
-
Read the INFO.CODESIZE register (0x00FF0224) of the FICR.
The value of this register contains the number of pages in code memory in
hexadecimal format, so 0x0000100 stored in this register
corresponds to 256 total pages in flash memory.
Note: Total flash memory (in bytes) = INFO.CODEPAGESIZE * INFO.CODESIZE. This
information is used later to determine the valid range of addresses to
program.