Control Law Accelerator (CLA)
C2000 Microcontroller Workshop - Control Law Accelerator 10 - 11
CLA C Language Restrictions (1 of 2)
CLA C compiler does not support:
Initialized global and static data
int x; // valid
int x=5; // not valid
Initialized variables need to be manually
handled by an initialization task
More than 1 level of function nesting
Task can call a function, but a function
cannot call another function
Function with more than two arguments
Recursive function calls
Function pointers
CLA C Language Restrictions (2 of 2)
CLA C compiler does not support:
Certain fundamental math operations
integer division:
z = x/y;
modulus (remainder):
z = x%y;
unsigned 32-bit integer compares
Uint32 i; if(i < 10) {…} // not valid
int32 i; if(i < 10) {…} // valid
Uint16 i; if(i < 10) {…} // valid
int16 i; if(i < 10) {…} // valid
float32 x; if(x < 10) {…} // valid
C Standard math library functions