The LPCXpresso IDE is shipped with three C libraries:
By default, LPCXpresso will use the Redlib (family of) libraries for C projects and the Newlib (family of) libraries for C++ projects. Newlib provides complete C99 and C++ library support at the expense of a larger (in some cases, much larger) code size in your application. If you prefer a smaller application and don't need the additional functionality of the C99 or C++ libraries, you should use Redlib, which can can produce much smaller applications.
Redlib does implement a number of extensions to the C90 C library specification, including some from the C99 specification. These include
Each C library is also provided in three variants (None, Nohost and Semihost).
For details please see the FAQ "What are none, nohost and semihost libraries?".
For details on how to switch the selected C library, please see the FAQ "Switching the selected C library".
And what would be the difference (advantage?) between Redlib and Newlibnano?
In a nutshell:
- RedLIb is a NXP proprietary compact library implementation: not a full implementation (e.g. does not support C++, or gcov and gprof)
- NewLib-Nano is a more compact library implementation than NewLib, aiming for code size instead of speed
As long as you don't use the standard library functions (printf, malloc, etc) it does not really matter. If your concern is minimal footprint and you don't care about the C (or C++) standard implementation, you might be best with RedLib. If you are concerned about the C library standard, go with newlib or newlib-nano. If you need speed but don't care much about RAM and FLASH usage and want the full blown thing or want to use C++: go with newlib, otherwise go with newlib-nano.
Personally I avoid using most of the C library functions anyway, but they still can be useful. Otherwise I prefer using newlib-nano as I can rebuild it from sources if needed.
I hope this helps,
Erich