Home
last modified time | relevance | path

Searched full:picolibc (Results 1 – 25 of 628) sorted by relevance

12345678910>>...26

/picolibc-latest/doc/
Dusing.md1 # Using Picolibc in Embedded Systems
3 Picolibc is designed to be used in deeply embedded systems, those
11 against Picolibc provides the follwoing headers in its default search
26 so whatever version could be imported in the Picolibc, it won't work
31 ## Compiling with Picolibc
33 To compile source code to use Picolibc, you can use the GCC .specs
34 file delivered with Picolibc. This will set the system header file
35 path and the linker library path to point at Picolibc. For example, to
38 $ gcc --specs=picolibc.specs -c foo.c
40 When installed directly into the system, picolibc.specs is placed in
[all …]
Dos.md1 # Picolibc and Operating Systems
3 Picolibc is designed to be operating-system independent, so it doesn't
5 Picolibc need system support, like I/O and task termination.
7 ## System Interfaces used by Picolibc
9 Here's the full list of system functions used by Picolibc, split into
14 Picolibc stdio splits support for simple console input/output and more
91 The code needed for this is built into Picolibc by default, but can be
104 Both versions of malloc in picolibc require sbrk to be supported. The
112 Picolibc includes a simple version of sbrk that can return chunks of
119 The sample linker script provided with picolibc defines these two
[all …]
Dlinking.md1 # Linking Picolibc applications
8 linker script provided by Picolibc. This document describes how to do
16 the data as required. Checkout the [Initializers in Picolibc](init.md) document
20 `-specs=picolibc.specs`, you'll need to use the gcc `-T` option
22 `picolibc.specs` to not add the picolibc linker script along with your
25 gcc -specs=picolibc.specs -Tcustom.ld
27 ## Using picolibc.ld
29 Picolibc provides a default linker script which can often be used to
31 straightforward. To use picolibc.ld, you'll create a custom linker
33 picolibc.ld. Here's a sample custom linker script `sample.ld`:
[all …]
Dreleasing.md1 # Releasing Picolibc
4 picolibc:
26 $ ./scripts/test-picolibc
38 5. Verify that COPYING.picolibc includes information
63 …$ scp builds/dist/picolibc-<version>-<arm-et-version>.zip keithp.com:/var/www/picolibc/dist/gnu-ar…
71 $ scp build-native/meson-dist/* keithp.com:/var/www/picolibc/dist
73 14. Create new release on picolibc wiki pasting in relevant README.md
85 the main picolibc repository. It's designed to be build using 'gbp
89 1. Release upstream picolibc first
101 5. Update debian/copyright from COPYING.picolibc
[all …]
Dembedsource.md1 # Using picolibc as an embedded source
3 …ility and traceability is important, it is possible to embed the entire picolibc library as a meso…
7 ## Adding picolibc as a subproject
9 First you need to add picolibc as a git submodule:
13 git submodule add https://github.com/keith-packard/picolibc subprojects/picolibc
20 picolibc/
29 First of all, when using picolibc as an embedded source, you should not specify -specs=picolibc.spe…
34 dependencies += dependency('picolibc', fallback: ['picolibc', 'picolibc_dep'])
Dlocking.md1 # Locking in Picolibc
4 Picolibc uses the following locking API. Picolibc provides stubs for
6 that a single-threaded application can still use a Picolibc compiled
10 ## Where Picolibc uses locking
12 Picolibc has a single global lock for APIs that share global
39 Picolibc inherits these options from newlib, and they're so
46 enabled, Picolibc uses the following interface. Picolibc provides
62 This struct is only referenced by picolibc, not defined. The
Dprintf.md1 # Printf and Scanf in Picolibc
9 Picolibc handles this by providing multiple printf and scanf
17 The function name mapping happens in picolibc.specs file which scans
25 * Printf uses within picolibc (which are all integer-only) now share
35 picolibc.specs includes the --gc-sections linker flag. This causes
44 ## Printf and Scanf levels in Picolibc
46 There are five levels of printf support provided by Picolibc that can
49 the picolibc built-time option, `-Dformat-default`, which defaults to
59 `io-long-double` setting. The picolibc.specs stanza that matches
73 double or long double conversions. When picolibc.specs finds
[all …]
Dtls.md1 # Thread Local Storage in Picolibc
18 Picolibc does this by using the built-in thread-local-storage
29 ## TLS model used by Picolibc
31 Picolibc is normally compiled with -ftls-model=local-exec. The selected
41 The sample Picolibc linker script (picolibc.ld) allocates RAM for an
85 ## Picolibc APIs related to TLS
Dbuild.md1 # Building Picolibc
3 Picolibc is designed to be cross-compiled for embedded systems on a
5 doesn't include the built-in multilib support. Picolibc uses the meson
9 Picolibc requires meson version 0.50 or newer. If your operating
46 …ecs file (default is in the GCC directory). <br> If set to `none`, then picolibc.specs will not be…
98 Normally, Picolibc is built with the small stdio library adapted from
134 library. By default, picolibc only supports the 'C' locale.
144 These control how much support picolibc includes for calling functions
159 By default, Picolibc can uses native TLS support as provided by the
175 Picolibc offers two malloc implementations, the larger version offers
[all …]
/picolibc-latest/
DCONTRIBUTING.md1 # Contributing to Picolibc
8 Picolibc sources are maintained in git and hosted in two places.
10 1. [keithp.com](https://keithp.com/cgit/picolibc.git/). This is the
13 2. [github](https://github.com/keith-packard/picolibc). This should
15 make contributing to Picolibc easier for people familiar with github.
19 $ git clone git://keithp.com/git/picolibc.git
23 $ git clone https://github.com/keith-packard/picolibc.git
27 Picolibc uses the [meson](https://mesonbuild.com/) build tool. You'll
31 ## Building Picolibc from Source
33 As Picolibc is designed to be used for embedded systems, getting that
[all …]
DREADME.md1 # Picolibc chapter
4 Picolibc is library offering standard C library APIs that targets
5 small embedded systems with limited RAM. Picolibc was formed by blending
11 * ![Linux](https://github.com/picolibc/picolibc/workflows/Linux/badge.svg?branch=main)
12 * ![Zephyr](https://github.com/picolibc/picolibc/workflows/Zephyr/badge.svg?branch=main)
13 * ![Mac OS X](https://github.com/picolibc/picolibc/workflows/Mac%20OS%20X/badge.svg)
17 Picolibc source comes from a variety of places and has a huge variety
28 as a helper for people building the library, but not used by picolibc
31 The file COPYING.picolibc contains all of the current copyright and
38 Picolibc has integrated testing support for many architectures which
[all …]
Dpicolibc.h.in387 /* The Picolibc minor version number. */
390 /* The Picolibc version in string format. */
393 /* The Picolibc major version number. */
463 /* The Picolibc minor version number. */
466 /* The Picolibc patch level. */
469 /* The Picolibc version in string format. */
472 /* The Picolibc major version number. */
DCMakeLists.txt38 project(Picolibc VERSION 1.8.8 LANGUAGES C ASM) project
73 include(cmake/picolibc.cmake)
505 set(PICOLIBC_INCLUDE ${PROJECT_BINARY_DIR}/picolibc/include)
513 configure_file(picolibc.h.in "${PICOLIBC_INCLUDE}/picolibc.h")
539 configure_file(picolibc.specs.in "${PROJECT_BINARY_DIR}/picolibc.specs" @ONLY)
618 install(FILES ${CMAKE_BINARY_DIR}/picolibc.specs DESTINATION lib)
619 install(FILES ${CMAKE_BINARY_DIR}/picolibc/include/picolibc.h DESTINATION include)
/picolibc-latest/hello-world/
DREADME.md6 picolibc, and uses 'make' instead of 'meson' to try and make the
18 ## Selecting picolibc headers and C library
20 Picolibc provides a GCC '.specs' file _(generated from
21 picolibc.specs.in)_ which sets the search path for
22 header files and picolibc libraries.
24 gcc -specs=picolibc.specs
30 example uses Picolibc's semihosting support (`--oslib=semihost`) to
33 gcc -specs=picolibc.specs --oslib=semihost
40 arm-none-eabi-gcc -specs=picolibc.specs --oslib=semihost -mcpu=cortex-m3
46 aarch64-linux-gnu-gcc -specs=picolibc.specs --oslib-semihost
[all …]
/picolibc-latest/.github/workflows/
Dlinux.yml21 DOCKERFILE: picolibc/.github/Dockerfile
23 IMAGE: picolibc-linux
24 PACKAGES_FILE: picolibc/.github/linux-packages.txt
25 EXTRA_FILE: picolibc/.github/linux-files.txt
31 - name: Clone picolibc
34 path: picolibc
48 - name: Build picolibc container
72 - name: Clone picolibc
75 path: picolibc
110 …docker run -v $(readlink -f picolibc):/picolibc -w /picolibc -v $GITHUB_WORKSPACE/.ccache:/root/.c…
[all …]
Dzephyr.yml22 DOCKERFILE: picolibc/.github/Dockerfile-zephyr
24 IMAGE: picolibc
25 PACKAGES_FILE: picolibc/.github/zephyr-packages.txt
26 EXTRA_FILE: picolibc/.github/zephyr-files.txt
32 - name: Clone picolibc
35 path: picolibc
49 - name: Build picolibc container
78 - name: Clone picolibc
81 path: picolibc
116 …docker run -v $(readlink -f picolibc):/picolibc -w /picolibc -v $GITHUB_WORKSPACE/.ccache:/root/.c…
[all …]
Dhead21 DOCKERFILE: picolibc/.github/Dockerfile
23 IMAGE: picolibc-linux
24 PACKAGES_FILE: picolibc/.github/linux-packages.txt
25 EXTRA_FILE: picolibc/.github/linux-files.txt
31 - name: Clone picolibc
34 path: picolibc
48 - name: Build picolibc container
Dhead-zephyr22 DOCKERFILE: picolibc/.github/Dockerfile-zephyr
24 IMAGE: picolibc
25 PACKAGES_FILE: picolibc/.github/zephyr-packages.txt
26 EXTRA_FILE: picolibc/.github/zephyr-files.txt
32 - name: Clone picolibc
35 path: picolibc
49 - name: Build picolibc container
Dsteps-cmake3 …docker run -v $(readlink -f picolibc):/picolibc -w /picolibc -v $GITHUB_WORKSPACE/.ccache:/root/.c…
Dsteps-minsize3 …docker run -v $(readlink -f picolibc):/picolibc -w /picolibc -v $GITHUB_WORKSPACE/.ccache:/root/.c…
Dsteps-release3 …docker run -v $(readlink -f picolibc):/picolibc -w /picolibc -v $GITHUB_WORKSPACE/.ccache:/root/.c…
/picolibc-latest/scripts/
Ddo-arm-tk2 PICOLIBC=$(realpath $(dirname "$0")/..)
15 PICOLIBC_VERSION=$(cd "$PICOLIBC" && git describe)
18 echo Picolibc "$PICOLIBC"
19 echo Picolibc version "$PICOLIBC_VERSION"
32 MINSIZE_DIR="$PICOLIBC"/builds/build-arm-tk-minsize
33 RELEASE_DIR="$PICOLIBC"/builds/build-arm-tk-release
34 export DESTDIR="$PICOLIBC"/builds/dist
63 ZIP="$DESTDIR"/picolibc-"$PICOLIBC_VERSION"-"$TK_VERSION".zip
Dtest-picolibc3 PICOLIBC_DIR=/build/picolibc
57 echo '####' ../../picolibc/do-$arch-configure $minoptions
60 $test ../../picolibc/do-$arch-configure $minoptions
70 echo '####' ../../picolibc/do-$arch-configure $reloptions
73 $test ../../picolibc/do-$arch-configure $reloptions
Ddo-freedom-tools-package41 # and package picolibc for Freedom tools.
43 # VERSION is the picolibc version number
48 TARBALL=riscv64-unknown-elf-picolibc-${VERSION}-${FREEDOM_TOOLS_VERSION}.tar.gz
61 # Configure and build picolibc
/picolibc-latest/zephyr/
Dzephyr.cmake36 # Zephyr-specific hooks for picolibc
39 zephyr_include_directories(${PROJECT_BINARY_DIR}/picolibc/include)
73 # Map Zephyr options to Picolibc options
106 # Tell Zephyr about the module built picolibc library to link against.
107 # We need to construct the absolute path to picolibc in same fashion as CMake

12345678910>>...26