mirror of
https://github.com/embassy-rs/embassy.git
synced 2024-11-21 22:32:29 +00:00
Additional features docs for embassy-rp
This commit is contained in:
parent
bb75596302
commit
4770325bb7
@ -22,17 +22,17 @@ features = ["defmt", "unstable-pac", "time-driver"]
|
|||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = [ "rt" ]
|
default = [ "rt" ]
|
||||||
## Enable the RP runtime.
|
## Enable the rt feature of [`rp-pac`](https://docs.rs/crates/rp-pac). This brings in the [`cortex-m-rt`](https://docs.rs/cortex-m-rt) crate, which adds startup code and minimal runtime initialization.
|
||||||
rt = [ "rp-pac/rt" ]
|
rt = [ "rp-pac/rt" ]
|
||||||
|
|
||||||
## Enable defmt.
|
## Enable [defmt support](https://docs.rs/defmt) and enables `defmt` debug-log messages and formatting in embassy drivers.
|
||||||
defmt = ["dep:defmt", "embassy-usb-driver/defmt", "embassy-hal-internal/defmt"]
|
defmt = ["dep:defmt", "embassy-usb-driver/defmt", "embassy-hal-internal/defmt"]
|
||||||
|
|
||||||
## critical section that is safe for multicore use.
|
## Configure the critical section crate to use an implementation that is safe for multicore use on rp2040.
|
||||||
critical-section-impl = ["critical-section/restore-state-u8"]
|
critical-section-impl = ["critical-section/restore-state-u8"]
|
||||||
|
|
||||||
## Reexport the PAC for the currently enabled chip at `embassy_rp::pac`.
|
## Reexport the PAC for the currently enabled chip at `embassy_rp::pac`.
|
||||||
## This is unstable because semver-minor (non-breaking) releases of embassy-rp may major-bump (breaking) the PAC version.
|
## This is unstable because semver-minor (non-breaking) releases of `embassy-rp` may major-bump (breaking) the PAC version.
|
||||||
## If this is an issue for you, you're encouraged to directly depend on a fixed version of the PAC.
|
## If this is an issue for you, you're encouraged to directly depend on a fixed version of the PAC.
|
||||||
## There are no plans to make this stable.
|
## There are no plans to make this stable.
|
||||||
unstable-pac = []
|
unstable-pac = []
|
||||||
@ -40,15 +40,18 @@ unstable-pac = []
|
|||||||
## Enable the timer for use with `embassy-time` with a 1MHz tick rate.
|
## Enable the timer for use with `embassy-time` with a 1MHz tick rate.
|
||||||
time-driver = ["dep:embassy-time-driver", "embassy-time-driver?/tick-hz-1_000_000"]
|
time-driver = ["dep:embassy-time-driver", "embassy-time-driver?/tick-hz-1_000_000"]
|
||||||
|
|
||||||
## Enable ROM function cache.
|
## Enable ROM function cache. This will store the address of a ROM function when first used, improving performance of subsequent calls.
|
||||||
rom-func-cache = []
|
rom-func-cache = []
|
||||||
## Enable intrinsics.
|
## Enable implementations of some compiler intrinsics using functions in the rp2040 Mask ROM.
|
||||||
|
## These should be as fast or faster than the implementations in compiler-builtins. They also save code space and reduce memory contention.
|
||||||
|
## Compiler intrinsics are used automatically, you do not need to change your code to get performance improvements from this feature.
|
||||||
intrinsics = []
|
intrinsics = []
|
||||||
## Enable ROM v2 intrinsics.
|
## Enable intrinsics based on extra ROM functions added in the v2 version of the rp2040 Mask ROM.
|
||||||
|
## This version added a lot more floating point operations - many f64 functions and a few f32 functions were added in ROM v2.
|
||||||
rom-v2-intrinsics = []
|
rom-v2-intrinsics = []
|
||||||
|
|
||||||
## Allow using QSPI pins as GPIO pins. This is mostly not what you want (because your flash lives there)
|
## Allow using QSPI pins as GPIO pins. This is mostly not what you want (because your flash is attached via QSPI pins)
|
||||||
## and would add both code and memory overhead when enabled needlessly.
|
## and adds code and memory overhead when this feature is enabled.
|
||||||
qspi-as-gpio = []
|
qspi-as-gpio = []
|
||||||
|
|
||||||
## Indicate code is running from RAM.
|
## Indicate code is running from RAM.
|
||||||
@ -57,20 +60,24 @@ qspi-as-gpio = []
|
|||||||
run-from-ram = []
|
run-from-ram = []
|
||||||
|
|
||||||
#! ### boot2 flash chip support
|
#! ### boot2 flash chip support
|
||||||
#! If none of these are enabled, w25q080 is used by default (used on the pico)
|
#! RP2040's internal bootloader is only able to run code from the first 256 bytes of flash.
|
||||||
## AT25SF128a.
|
#! A 2nd stage bootloader (boot2) is required to run larger programs from external flash.
|
||||||
|
#! Select from existing boot2 implementations via the following features. If none are selected,
|
||||||
|
#! boot2-w25q080 will be used (w25q080 is the flash chip used on the pico).
|
||||||
|
#! Each implementation uses flash commands and timings specific to a QSPI flash chip family for better performance.
|
||||||
|
## Use boot2 with support for Renesas/Dialog AT25SF128a SPI flash.
|
||||||
boot2-at25sf128a = []
|
boot2-at25sf128a = []
|
||||||
## GD25Q64cs.
|
## Use boot2 with support for Gigadevice GD25Q64C SPI flash.
|
||||||
boot2-gd25q64cs = []
|
boot2-gd25q64cs = []
|
||||||
## generic-03h.
|
## Use boot2 that only uses generic flash commands - these are supported by all SPI flash, but are slower.
|
||||||
boot2-generic-03h = []
|
boot2-generic-03h = []
|
||||||
## IS25LP080.
|
## Use boot2 with support for ISSI IS25LP080 SPI flash.
|
||||||
boot2-is25lp080 = []
|
boot2-is25lp080 = []
|
||||||
## ram-memcpy.
|
## Use boot2 that copies the entire program to RAM before booting. This uses generic flash commands to perform the copy.
|
||||||
boot2-ram-memcpy = []
|
boot2-ram-memcpy = []
|
||||||
## W25Q080.
|
## Use boot2 with support for Winbond W25Q080 SPI flash.
|
||||||
boot2-w25q080 = []
|
boot2-w25q080 = []
|
||||||
## W25X10cl.
|
## Use boot2 with support for Winbond W25X10CL SPI flash.
|
||||||
boot2-w25x10cl = []
|
boot2-w25x10cl = []
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
Loading…
Reference in New Issue
Block a user