Newlib: Difference between revisions
No edit summary |
imported>Xose.vazquez |
||
| Line 17: | Line 17: | ||
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 [[GNU Compiler Collection|GCC]] ports for non-Linux embedded systems. | 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 [[GNU Compiler Collection|GCC]] ports for non-Linux embedded systems. | ||
== System | == System calls == | ||
The section System Calls<ref>[http://www.sourceware.org/newlib/libc.html#Syscalls System Calls], The Red Hat newlib C Library</ref> of the Newlib documentation describes how it can be used with many [[operating 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]] 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. | The section System Calls<ref>[http://www.sourceware.org/newlib/libc.html#Syscalls System Calls], The Red Hat newlib C Library</ref> of the Newlib documentation describes how it can be used with many [[operating 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]] 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. | ||
| Line 27: | Line 27: | ||
{{As of|2007}}, devkitARM and devkitPPC, toolchains targeted at [[Homebrew_(video_games)|homebrew]] development for commercial game systems, include Newlib as their C library. The Open-R SDK for [[AIBO|Sony AIBO]] is also based on Newlib on top of the non-Unix Aperios. | {{As of|2007}}, devkitARM and devkitPPC, toolchains targeted at [[Homebrew_(video_games)|homebrew]] development for commercial game systems, include Newlib as their C library. The Open-R SDK for [[AIBO|Sony AIBO]] is also based on Newlib on top of the non-Unix Aperios. | ||
{{As of|2013}}, [[Google_Native_Client | Google Native Client SDK (NaCl)]] includes Newlib as the default C library over [[glibc]].<ref>{{cite web|title=Native Client: Getting Started Tutorial|url=https://developers.google.com/native-client/devguide/tutorial|access-date=16 February 2013}}</ref> | {{As of|2013}}, [[Google_Native_Client | Google Native Client SDK (NaCl)]] includes Newlib as the default C library over [[glibc]].<ref>{{cite web|title=Native Client: Getting Started Tutorial|url=https://developers.google.com/native-client/devguide/tutorial|access-date=16 February 2013|archive-date=12 March 2013|archive-url=https://web.archive.org/web/20130312083912/https://developers.google.com/native-client/devguide/tutorial|url-status=dead}}</ref> | ||
In 2019, [[Keith Packard]] released ''Picolibc'',<ref>[https://keithp.com/picolibc/ Picolibc: C Libraries for Smaller Embedded Systems]</ref> a library offering standard C library APIs that targets small embedded systems with limited RAM, based on blending code from Newlib and [https:// | In 2019, [[Keith Packard]] released ''Picolibc'',<ref>[https://keithp.com/picolibc/ Picolibc: C Libraries for Smaller Embedded Systems]</ref> a library offering standard C library APIs that targets small embedded systems with limited RAM, based on blending code from Newlib and [https://avrdudes.github.io/avr-libc/ AVR Libc]. | ||
==See also== | ==See also== | ||
Latest revision as of 14:57, 23 November 2025
Template:Short description Script error: No such module "Infobox".Template:Template other Script error: No such module "Check for unknown parameters".Script error: No such module "Check for conflicting parameters".
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[1] 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.
since 2004[update]Template:Dated maintenance category (articles)Script error: No such module "Check for unknown parameters"., KallistiOS, an independent SDK targeting the Sega Dreamcast, has used Newlib as its standard C library, shipping it with many commercial titles on the platform.[2]
since 2007[update]Template:Dated maintenance category (articles)Script error: No such module "Check for unknown parameters"., 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.
since 2013[update]Template:Dated maintenance category (articles)Script error: No such module "Check for unknown parameters"., 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
Script error: No such module "Portal".
- Other C standard libraries
<templatestyles src="Div col/styles.css"/>
References
<templatestyles src="Reflist/styles.css" />
- ↑ System Calls, The Red Hat newlib C Library
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Picolibc: C Libraries for Smaller Embedded Systems
Script error: No such module "Check for unknown parameters".
Further reading
- Script error: No such module "citation/CS1".