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.

TMS320F28075: Using IQmath for ELF format produces advice #3195-D

Part Number: TMS320F28075
Other Parts Discussed in Thread: C2000WARE

Hello,

When it comes to using IQmath with eabi (ELF) output format, the following advice is generated.

"../Sw_Timer.c", line 1893 (col. 18): advice #3195-D: (Performance) EABI double precision is 64-bits as opposed to 32-bits for COFF. Consider changing doubles to floats for improved performance in FPU32-mode.

The code looks like this.

iq10L42LqTemp = _IQ10mpy(iq10L42Lq, _IQ10((float)wEqEstGainPerc * 0.01f));

I found that _IQ10() macro is defined as follows.

#define   _IQ10(A)      (long) ((A) * 1024.0L)

After changing the code like this,

#define   _IQ10(A)      (long) ((A) * 1024.0f)

The advice message has gone.

Does this have something to do with performance?

I think this should be reflected in the IQmath header file.

#if defined(__TI_EABI__ && FPU64)

#define   _IQ10(A)      (long) ((A) * 1024.0L)

#else

#define   _IQ10(A)      (long) ((A) * 1024.0f)

#endif

What do you think?

Thanks.