L166: ?C_INITSEC and ?C_CLRMEMSEC Located at Wrong Address
Information in this knowledgebase article applies to:
After adding some functions, my application does not work anymore. The project is compiled and linked without any errors and warnings. This is an excerpt from my Project.M66 file:
I see that the sections ?C_INITSEC and ?C_CLRMEMSEC are located outside my flash area. I specified the CLASSES NCODE, FCODE, ICODE and all others correctly. Why does ?C_INITSEC and ?C_CLRMEMSEC not get located within my specified flash areas?
The sections ?C_INITSEC and ?C_CLRMEMSEC do not belong to a CLASS. Since version 4, these sections are located with the L166 directive CINITTAB. Obviously, this directive is missing in your linker command file or in the µVision dialog Options for Target - L166 Misc - Misc Controls.
When Options for Target - L166 Locate - Use Memory Layout from Target Dialog is selected, µVision creates the CINITTAB directive automatically with the memory ranges you have chosen in Options for Target - Target.
- or -
Last Reviewed: Thursday, February 25, 2021
of your data.