**** Advance Notice ****

This site will be closed on 31 December 2015,

Important Information for users of NXP LPCXpresso

This site is for users of Code Red branded products.

NXP LPCXpresso users should visit the LPCXpresso FAQ's for up-to-date information relevant to that product.

What are none, nohost and semihost libraries?

The Code Red tools suite is supplied with several 'stubs' that form the very bottom of the C library and include certain low-level functions used by other functions in the library.

Each C library (Redlib and Newlib) is provided in three variants, with each variant providing a differing set of these stubs, and hence providing differing levels of functionality. The libraries are named as follows:

The functionality provided in each variant is as follows:

Semihost

This library variant provides implementation of all functions, including file I/O. The file I/O will be directed through the debugger and will be performed on the host system. For example, printf/scanf will use the debugger console window and fread/fwrite will operate on files on the host system. Note that this emulated I/O is slow and can only be used when debugging.

For more information on the semihost variants of the library, please see the FAQ Using printf in your applications (Semihosting).

Nohost

This library variant provides the string and memory handling functions and some file-based I/O functions. However, it assumes that you have no debugging host system, thus any file I/O will do nothing.

None

This is literally no stub and has the smallest memory footprint. It excludes low-level functions for all file-based I/O and some string and memory handling functions.

In many embedded microcontroller applications it is possible to use the None variant (ie no low level stubs) by careful use of the C library.

LibraryVariants (last edited 2010-09-21 09:11:13 by CrSupportAb)