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