What are none, nohost and semihost libraries?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

What are none, nohost and semihost libraries?

19,018件の閲覧回数
lpcware-support
Senior Contributor I

LPCXpresso 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:

  • Redlib (none)
  • Redlib (nohost)
  • Redlib (semihost)
  • Newlib (none)
  • Newlib (nohost)
  • Newlib (semihost)

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 (semihosting). 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.

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.

For more information...

ラベル(2)
タグ(3)
0 返答(返信)