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