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.

TMDSCNCD28388D: CLA code not handling pointers

Part Number: TMDSCNCD28388D

I have code that the number of entries is not known at compile time.

Using a pointer to a structure that is assigned at run time the data is not read correctly that is shared between the C28x and the CLA

typedef struct _tConfig
{

uint16 NoOfVal_Type1;
uint16 NoOfVal_Type2;
uint16 NoOfVal_Type3;
uint16 NoOfVal_Type4;

void* FirstEntry; /**< Start of the measurement data, this is used to get the start address of the table since 64bit would actually be 64bits instead of the 32bits that INCA uses */

} tConfig;

uint32 CLA_EventList[10];  //This contains a list of addresses to read for events that is filled out by the C28x

uint32 config = CLA_EventList[0]; //Get an event in the CLA

tConfig* eventConfig = (tConfig*)(config ); //Assign a structure to the event in CLA

uint32 no_of_val_4 = eventConfig->NoOfVal_Type2;  //This fails in CLA <<<<<<<<<<<<

/* pointer to first first address to work on*/
void* const* src_addr_ptr = &(eventConfig->FirstEntry); //This also fails in CLA<<<<<<<<<<<<<

The code runs correctly if it is run from the C28x instead.