Newlib

Newlib
Original author(s) Cygnus Support
Developer(s) Red Hat
Stable release
3.0.0 / January 18, 2018 (2018-01-18)[1]
Repository Edit this at Wikidata
Operating system Cross-platform
Type Runtime library
Website www.sourceware.org/newlib/

Newlib is a C standard library implementation intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products.

It was created by Cygnus Support as part of building the first GNU cross-development toolchains. It is now maintained by Red Hat developers Jeff Johnston and Corinna Vinschen, and is used in most commercial and non-commercial GCC ports for non-Linux embedded systems.

System Calls

The section System Calls[2] of the Newlib documentation describes how it can be used with many operating systems. Its primary use is on embedded systems that lack any kind of operating system; in that case it calls a board support package that can do things like write a byte of output on a serial port, or read a sector from a disk or other memory device.

Inclusion

Newlib is included in commercial GCC distributions by Atollic, CodeSourcery, Code Red, KPIT, Red Hat and others, and receives support from major embedded-processor architecture vendors such as ARM and Renesas. It is used as the standard C library in Cygwin, as well as being one standard C library among several for AmigaOS version 4.

As of 2007, devkitARM, a popular toolchain for programming homebrew software for Nintendo DS, Game Boy Advance systems and the standard PlayStation Portable homebrew SDK include Newlib as their C library, as well as devkitPPC, a popular Wii and GameCube homebrew development platform. The Open-R SDK for Sony AIBO is also based on Newlib on top of the non-Unix Aperios.

As of 2013, Google Native Client SDK (NaCl) includes Newlib as the default C library over glibc.[3]

See also

Other C standard libraries

"Newlib nano" (Feb 2013) is a derivative of newlib targeting embedded microcontrollers. To quote - "Implementation focus is on code and data size reduction through optimization and removal of non-MCU features". It is released under the terms of the GNU GPLv2 licence.

References

  1. "Newlib download".
  2. System Calls, The Red Hat newlib C Library
  3. "Native Client: Getting Started Tutorial". Retrieved 16 February 2013.

Further reading

  • von Hagen, William L. (2006). The Definitive Guide to GCC, Second Edition. Berkeley, CA: Apress. pp. 289–290. ISBN 1-59059-585-8.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.