Download Flash Self-Programming Library

Transcript
Flash Self-Programming Library
FSL Implementation
3.2 FSL Linker sections
The following sections are Flash Self-Programming Library related.
FSL data sections

FSL_DATA
This section contains the variables required for FSL. It can be located either
in internal or in external RAM.
FSL code sections

FSL_CODE_ROM
This section contains the code executed at the beginning of SelfProgramming. This code is executed at the original location, e.g. internal
Flash. The library initialization is part of this section.

FSL_CODE_ROMRAM
The section contains the user interface. Depending on the library
configuration, code from this section has to be executed in a Memory area
outside the Flash area affected by the Self-Programming operation (typically
executed in RAM) or not.

FSL_CODE_RAM
This section contains the firmware interface and has to be executed in a
Memory area outside the Flash area affected by the Self-Programming
operation (typically executed in RAM).

FSL_CODE_RAM_USRINT
This section may contain user interrupt handler functions.

FSL_CODE_RAM_USR
This section may contain user functions and has to be executed in a Memory
area outside the Flash area affected by the Self-Programming operation
(typically executed in RAM). User functions may contain code for the SelfProgramming control flow.

FSL_CODE_RAM_EX_PROT
This is a dummy section to avoid prefetch errors at the borders of the copied
sections during RAM execution.
Caution It is not allowed to place any section in between the FSL code sections. A
violation of that rule or a reordering of the sections will cause a crash of the
library.
3.3 MISRA Compliance
The FSL has been tested regarding MISRA compliance.
The used tool is the QAC Source Code Analyzer which tests against the MISRA
2004 standard rules.
All MISRA related rules have been enabled. Remaining findings are commented
in the code while the QAC checker machine is set to silent mode in the
concerning code lines.
R01US0046ED Rev. 1.01
User Manual
15