5.11 Migrating Between F2833x Devices and F2823x Devices
The principal difference between these two devices is the absence of the floating-point unit (FPU) in the F2823x devices. This section describes how to build an application for each:
- For F2833x devices:
- Code Composer Studio 3.3 with Service Release 9 or later is required for debug support of C28x + floating-point devices.
- Use -v28 --float_support = fpu32 compiler options. The --float_support option is available in compiler v5.0.2 or later. In Code Composer Studio, the --float_support option is located on the advanced tab of the compiler options (Project → Build_Options → Compiler → Advanced tab).
- Include the compiler’s run-time support library for native 32-bit floating-point. For example, use rts2800_fpu32.lib for C code or rts2800_fpu32_eh.lib for C++ code.
- Consider using the C28x FPU Fast RTS Library for high-performance floating-point math functions such as sin, cos, div, sqrt, and atan. The Fast RTS library should be linked in before the normal run-time support library.
- For F2823x devices:
- Either leave off the --float_support switch or use -v28 --float_support=none
- Include the appropriate run-time support library for fixed point code. For example, use rts2800_ml.lib for C code or rts2800_ml_eh.lib for C++ code.
- Consider using the C28x IQmath library - A Virtual Floating Point Engine to achieve a performance boost from math functions such as sin, cos, div, sqrt, and atan.
Code built in this manner will also run on F2833x devices, but it will not make use of the on-chip floating-point unit.
In either case, to allow for quick portability between native floating-point and fixed-point devices, TI suggests writing your code using the IQmath macro language described in C28x IQMath Library.