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.

TMS320F280049: C function call in CAL background task(Task 8)

Part Number: TMS320F280049

Hi champs,

Does CLA2 support function calls in background task(Task 8)?

The newest C-compiler manual says that CLA compiler supports multiple nested levels of function call. However, it does not seem to wok with background Task.   

-Steve

  • Steve,

    I believe this is the case.  That is the background task has to be all inline.  If function are used they must be inline. 

    I need to confirm this with the compiler expert since I am able to locate this restriction in the documentation.  I will get back to you by the end of the week. 

    Regards

    Lori

  • Steve,

    The compiler emits the below diagnostic for function calls from routines within a background task.  This diagnostic clearly indicates that this is not supported and that the function should be inlined:

    INTERRUPT(Cla1Task1, "BACKGROUND")

    error #99923: "test_bgtask.cla", line 36: CLA does not permit function calls in background tasks. Try inlining function.


    The CLA architecture does not have a stack pointer, and it has limited memory for a "scratch pad" (which is used instead of a stack).  This makes it complicated to both take interrupts and function calls safely and without using a large amount of memory.    I will submit a request against the user's guide to have this limitation noted.  

    Regards

    Lori