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.
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