Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE
Hi!
I am trying to convert my very simple project from COFF file format to EABI format.
I have managed to build it after "F28x_usDelay" to "_F28x_usDelay" replacement. But I get dozens of these warnings:
#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.
for stdlib.h (which is located at C2000 compiler folder and I presume editing it directly is not the brightest idea) fragments, such as:
#ifdef _INLINE
static __inline double atof(const char *_st) { return strtod(_st, (char **)0); }
#endif /* _INLINE */
This build runs on the MCU, but nearly 10 times slower in comparison with COFF version (verified via pin-and-oscilloscope measurement). I have read EABI to COFF migration tutorial and understood that the problem is in 64-bits floats instead of 32-bit ones. I have tried to switch --float_operations_allowed compiler key to 32-bit only operations and have got build errors for the same code fragments:
#1558-D 64-bit floating point operations are not allowed
What should I do to overcome this problem? Is there any designated solution? May be I should point compiler to another stdlib.h version?
I am running Code Composer Studio 10.1.0.00010 at Linux Mint 20.1 with C2000Ware_3_04_00_00_Software installed. My compiler is TI v20.2.4.LTS.
Thanks in advance!