Newlib
Encyclopedia
Newlib is a C standard library
C standard library
The C Standard Library is the standard library for the programming language C, as specified in the ANSI C standard.. It was developed at the same time as the C POSIX library, which is basically a superset of it...

 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
Red Hat
Red Hat, Inc. is an S&P 500 company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide....

 developer Jeff Johnston, and used in most commercial and non-commercial GCC ports for non-Linux embedded systems.

System Calls

The section System Calls of the newlib documentation describes how it can be used with many operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s. Its primary use is on embedded systems that lack any kind of operating system; in that case it calls a board support package
Board support package
In embedded systems, a board support package is implementation specific support code for a given board that conforms to a given operating system...

 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
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

 and Renesas. , devkitARM, a popular toolchain for programming homebrew software for Nintendo DS, Game Boy Advance systems and the standard PlayStation Portable
PlayStation Portable
The is a handheld game console manufactured and marketed by Sony Corporation Development of the console was announced during E3 2003, and it was unveiled on , 2004, at a Sony press conference before E3 2004...

 homebrew
Homebrew (video games)
Homebrew is a term frequently applied to video games or other software produced by consumers to target proprietary hardware platforms not typically user-programmable or that use proprietary storage methods...

 SDK include Newlib as their C library, as well as devkitPPC, a popular Wii
Wii
The Wii is a home video game console released by Nintendo on November 19, 2006. As a seventh-generation console, the Wii primarily competes with Microsoft's Xbox 360 and Sony's PlayStation 3. Nintendo states that its console targets a broader demographic than that of the two others...

 and GameCube homebrew development platform.

Newlib is also used as the standard C library in Cygwin
Cygwin
Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment...

, as well as being one standard C library among several for AmigaOS
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...

version 4.

External links

  • http://www.sourceware.org/newlib/
  • http://www.embedded.com/story/OEG20011220S0058
  • http://www.codesourcery.com/sgpp/features.html
  • http://www.cm3tools.com/CodeRedWiki/CLibrary
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK