Cargo Features

[dependencies]
rp-pico = { version = "0.8.0", default-features = false, features = ["critical-section-impl", "boot2", "rt", "rp2040-e5", "rom-func-cache", "disable-intrinsics", "rom-v2-intrinsics"] }
default = boot2, critical-section-impl, rom-func-cache, rt

This is the set of features we enable by default

critical-section-impl default

critical section that is safe for multicore use

Enables critical-section-impl of rp2040-hal

boot2 default = rp2040-boot2

2nd stage bootloaders for rp2040

Affects rp-pico::BOOT2_FIRMWARE

rt default = cortex-m-rt

Minimal startup / runtime for Cortex-M microcontrollers

Enables rt of rp2040-hal

rp2040-e5

This enables a fix for USB errata 5: USB device fails to exit RESET state on busy USB bus.
Only required for RP2040 B0 and RP2040 B1, but it also works for RP2040 B2 and above

Enables rp2040-e5 of rp2040-hal

rom-func-cache default

Memoize(cache) ROM function pointers on first use to improve performance

Enables rom-func-cache of rp2040-hal

disable-intrinsics

Disable automatic mapping of language features (like floating point math) to ROM functions

Enables disable-intrinsics of rp2040-hal

rom-v2-intrinsics

This enables ROM functions for f64 math that were not present in the earliest RP2040s

Enables rom-v2-intrinsics of rp2040-hal

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

cortex-m-rt rt
rp2040-boot2 boot2