Runtime Infrastructure

Libraries that are used to provide efficient implementation of certain language level and C library functions, as well as CMake INTERFACE libraries abstracting the compilation and link steps in the SDK. More...

Modules

 boot_stage2
 Second stage boot loaders responsible for setting up external flash.
 
 pico_base
 Core types and macros for the Raspberry Pi Pico SDK. This header is intended to be included by all source code as it includes configuration headers and overrides in the correct order.
 
 pico_binary_info
 Binary info is intended for embedding machine readable information with the binary in FLASH.
 
 pico_bit_ops
 Optimized bit manipulation functions. Additionally provides replacement implementations of the compiler built-ins __builtin_popcount, __builtin_clz and __bulitin_ctz.
 
 pico_bootrom
 Access to functions and data in the RP2040 bootrom.
 
 pico_bootsel_via_double_reset
 When the 'pico_bootsel_via_double_reset' library is linked, a function is injected before main() which will detect when the system has been reset twice in quick succession, and enter the USB ROM bootloader (BOOTSEL mode) when this happens. This allows a double tap of a reset button on a development board to be used to enter the ROM bootloader, provided this library is always linked.
 
 pico_cxx_options
 non-code library controlling C++ related compile options
 
 pico_divider
 Optimized 32 and 64 bit division functions accelerated by the RP2040 hardware divider. Additionally provides integration with the C / and % operators.
 
 pico_double
 Optimized double-precision floating point functions.
 
 pico_float
 Optimized single-precision floating point functions.
 
 pico_int64_ops
 Optimized replacement implementations of the compiler built-in 64 bit multiplication.
 
 pico_malloc
 Multi-core safety for malloc, calloc and free.
 
 pico_mem_ops
 Provides optimized replacement implementations of the compiler built-in memcpy, memset and related functions:
 
 pico_platform
 Macros and definitions (and functions when included by non assembly code) for the RP2 family device / architecture to provide a common abstraction over low level compiler / platform specifics.
 
 pico_printf
 Compact replacement for printf by Marco Paland (info@.nosp@m.pala.nosp@m.nd.co.nosp@m.m)
 
 pico_runtime
 Aggregate runtime support including pico_bit_ops, pico_divider, pico_double, pico_int64_ops, pico_float, pico_malloc, pico_mem_ops and pico_standard_link.
 
 pico_stdio
 Customized stdio support allowing for input and output from UART, USB, semi-hosting etc.
 
 

Detailed Description

Libraries that are used to provide efficient implementation of certain language level and C library functions, as well as CMake INTERFACE libraries abstracting the compilation and link steps in the SDK.