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.

Newlib
Original author(s)Cygnus Support
Developer(s)Red Hat
Stable release
3.3.0 / January 22, 2020 (2020-01-22)[1]
Repository
Operating systemCross-platform
TypeRuntime library
LicenseVarious MIT/BSD-like licenses
Websitewww.sourceware.org/newlib/

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

References

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

Further reading

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.