This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

"retain" of Cla1Prog

Hallo,
I found an issue about my F28035 project.
I'm using CLA to manage control of PFC.
In the generated map file there's a block called "Cla1Prog:retain" next to block "Cla1Prog" and it occupies quite a lot.
The map file is shown below:

Cla1Prog 0 003f0000 00000f0e RUN ADDR = 00009000
003f0000 00000790 Pfc_ClaAlgo_Z.obj (Cla1Prog)
003f0790 000005dc Pfc_ClaAlgo_Z.obj (Cla1Prog:retain)
003f0d6c 000000fc Z_CS_2803x_CLA_PWM.obj (Cla1Prog)
003f0e68 00000074 Z_CS_2803x_SWApp_PowerElec_CLA.obj (Cla1Prog)
003f0edc 00000028 Z_CS_2803x_CLA_Data.obj (Cla1Prog)
003f0f04 0000000a Z_CLAbasic.obj (Cla1Prog)

"Cla1Prog" is only 0x790 of size while "Cla1Prog:retain" occupies 0x5dc of size.

Somebody told me that "Cla1Prog:retain" is related to the 8 tasks of CLA programming. But I have used only 3 of them and in that 3 tasks there're only invokes of other 7 functions. Code is shown below:

__interrupt void iv_Cla1Task1 ( void )
{
    Pfc_AppAlgo_IController1_iv();

__interrupt void iv_Cla1Task2 ( void )
{
    Pfc_AppAlgo_IController2_iv();
}

__interrupt void iv_Cla1Task3 ( void )
{
}

__interrupt void iv_Cla1Task4 ( void )
{
    Init_CLA_GlbVar();
    PFC2IL_PWM_Init_CLA( (Uint16)SYS_MHZ, (Uint16)PWM_KHZ ); //Initialize the CLA Period Variable
    Pfc_InitAppAlgo_Controller_v();
    Pfc_InitAppAlgo_Offset_b();
    Pfc_InitAppAlgo_Version_v();
}

__interrupt void iv_Cla1Task5 ( void )
{
}

__interrupt void iv_Cla1Task6 ( void )
{
}

__interrupt void iv_Cla1Task7 ( void )
{

__interrupt void iv_Cla1Task8 ( void )
{
}

Why I throw out this issue is because this "Cla1Prog:retain" occupied too much area. I want to minimize the size of CLA program area so that CLA can execute more functions in the future.