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
4.3.0 / January 20, 2023 (2023-01-20)[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 and devkitPPC, toolchains targeted at homebrew development for commercial game systems, include Newlib as their C library. 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]

In 2019, Keith Packard released Picolibc,[4] a library offering standard C library APIs that targets small embedded systems with limited RAM, based on blending code from Newlib and AVR Libc.

See also

Other C standard libraries

References

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.