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.

TMS320F280039C: CLA can not achieve two level function call

Part Number: TMS320F280039C

Hi expert,

My customer meets a problem, which is CLA can not achieve two level function call.

the complier version is 22.06.0.LTS.

they did a very simple code.

#include "app_cla.h"

void test_cla0(void)
{
    flag2++;
    duty += 0.1f;
    duty = (duty > 0.9f) ? 0.1f : duty;
}


void test_cla1(void)
{
    test_cla0();

    flag2++;
    duty += 0.1f;
    duty = (duty > 0.9f) ? 0.1f : duty;
}

__attribute__((interrupt)) void Cla1Task1 ( void ) {
    test_cla1();
    flag3++;;
}

and the flag3 can not increase.

if they call test_cla0() instead, flag3 will increase.

I  remember in this document, https://www.ti.com/lit/ug/spru514y/spru514y.pdf

so why new compiler and F280039 will meet this issue?

BR

Emma