SPRU514Z July 2001 – October 2023 SM320F28335-EP
All data shared between the CLA and C28x CPUs must be defined in the C28x C or C++ code, and not defined in the CLA code (that is, not in *.cla files). This is required because shared variables defined in CLA code may not be blocked properly, which may cause variable accesses on the C28x to not set the DP correctly. See Section 3.11 for information about blocking and the DP register for both COFF and EABI. The linker provides a diagnostic message if blocked data access is attempted on non-blocked data.
The following data types are supported:
Type | EABI Size (bits) | COFF Size (bits) |
---|---|---|
char | 16 | 16 |
short | 16 | 16 |
int | 32 | 32 |
long | 32 | 32 |
long long | 64 | 32 |
float | 32 | 32 |
double | 64 | 32 |
long double | 64 | 32 |
pointer | 16 | 16 |
A char/short should be limited to load/store operations.
Pointer sizes for CLA are always 16-bits. This differs from C28x, which has 32-bit pointers.