The CCFG flash sector (described in
Section 9.2) contains
meta-information about/for the application:
- Boot configuration
- Where the initial vector
table of the application is so that the application entry function can
be invoked and the application stack pointer set. Application can change
vector table location later if needed.
- Whether to invoke a
bootloader and if so which bootloader and parameters to pass to the
bootloader. Location of user bootloader.
- Permissions and hardware
options
- Whether various boot
operations or non-debug SWD-related features are allowed
- Ability to lock
application out of certain hardware features or IPs (for example, to
minimize harm that programming errors can do)
- Flash write/erase protections
that apply to application
- Hardware initialization to
perform before first application instruction is run
- Debug permissions and optionally
(hash of) password
- User record
The user record is a 128-byte record
in CCFG that can be written at the same time as CCFG is written or with a separate
command later. This allows the user record to be written as part of a commissioning
step separate from the application image that has been programmed. In this case the
user record typically contains some kind of device unique ID, address or key.