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.

CCS/TMS320F28035: CLA1 translate float to long and transfer to CPU.

Part Number: TMS320F28035

Tool/software: Code Composer Studio

CPU of F28035 transfer some data of long to CLA. CLA will translate these data from long to float, then perform some computations using CLAdiv(), CLAcosPU() and CLAsinPU(). CLA will translate computation result from float to long and transfer these data to CPU. In corresponding CLA PIE interrupt ISR, CPU will read these data and control PWM duty. When we use XDS100 emulator to debug program to F28035, then click resume button to run program, all is right, even if pull out emulator.After power off, then power on the F28035, running without emulator, the data of long from CLA is not right, but other data of unsigned short from CLA are all right. These data of unsigned short are come from then same CLA task(task1) and read at the same CLA PIE interrupt ISR(CLA1_INT1_ISR). What are the reasons?The CCS compiler version is 6.4.2.

  • there are type differences between the CPU and CLA. ints are 16-bits on the C28x and 32-bits on the CLA. I would recommend you use stdint.h types, uint16_t (for unsigned short) and int32_t (for long).

    Now as for why the code may not work during standalone mode (without debugger connected), did you load the CLA math tables (CLA1mathTables) to flash, and then copy to RAM at run time before executing any code?