mirror of
https://github.com/italicsjenga/rp-hal-boards.git
synced 2024-12-23 20:51:31 +11:00
Merge pull request #462 from 9names/bsp_enable_cache
Document HAL features in Config.toml(s), and enable ROM function caching in BSPs
This commit is contained in:
commit
82800fe370
|
@ -25,7 +25,27 @@ smart-leds = "0.3.0"
|
||||||
ws2812-pio = "0.4.0"
|
ws2812-pio = "0.4.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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 doesn't hurt to enable it
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -25,7 +25,27 @@ ws2812-pio = "0.4.0"
|
||||||
fugit = "0.3.5"
|
fugit = "0.3.5"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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 doesn't hurt to enable it
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -17,12 +17,6 @@ cortex-m-rt = { version = "0.7.0", optional = true }
|
||||||
embedded-hal = { version = "0.2.4", features = ["unproven"] }
|
embedded-hal = { version = "0.2.4", features = ["unproven"] }
|
||||||
rp2040-boot2 = { version = "0.2.0", optional = true }
|
rp2040-boot2 = { version = "0.2.0", optional = true }
|
||||||
|
|
||||||
[features]
|
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
|
||||||
boot2 = ["rp2040-boot2"]
|
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
panic-halt = "0.2.0"
|
panic-halt = "0.2.0"
|
||||||
rp2040-boot2 = "0.2"
|
rp2040-boot2 = "0.2"
|
||||||
|
@ -30,3 +24,29 @@ smart-leds = "0.3.0"
|
||||||
fugit = "0.3.5"
|
fugit = "0.3.5"
|
||||||
nb = "1.0.0"
|
nb = "1.0.0"
|
||||||
ws2812-pio = "0.4.0"
|
ws2812-pio = "0.4.0"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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 doesn't hurt to enable it
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -21,8 +21,27 @@ panic-halt= "0.2.0"
|
||||||
embedded-hal ="0.2.5"
|
embedded-hal ="0.2.5"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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 doesn't hurt to enable it
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -25,7 +25,27 @@ ws2812-pio = "0.4.0"
|
||||||
fugit = "0.3.5"
|
fugit = "0.3.5"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -24,7 +24,27 @@ ws2812-pio = "0.4.0"
|
||||||
fugit = "0.3.5"
|
fugit = "0.3.5"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -24,7 +24,27 @@ nb = "1.0"
|
||||||
fugit = "0.3.5"
|
fugit = "0.3.5"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -23,7 +23,27 @@ panic-halt= "0.2.0"
|
||||||
nb = "1.0"
|
nb = "1.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -28,7 +28,27 @@ arrayvec = { version="0.7.1", default-features=false }
|
||||||
nb = "1.0.0"
|
nb = "1.0.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -22,7 +22,27 @@ embedded-hal ="0.2.5"
|
||||||
nb = "1.0"
|
nb = "1.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -28,7 +28,27 @@ defmt = "0.3.0"
|
||||||
defmt-rtt = "0.3.0"
|
defmt-rtt = "0.3.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -28,7 +28,27 @@ smart-leds = "0.3.0"
|
||||||
ws2812-pio = "0.4.0"
|
ws2812-pio = "0.4.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -26,7 +26,27 @@ defmt = "0.3.0"
|
||||||
defmt-rtt = "0.3.0"
|
defmt-rtt = "0.3.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -43,8 +43,27 @@ defmt = "0.3.0"
|
||||||
defmt-rtt = "0.3.0"
|
defmt-rtt = "0.3.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -23,7 +23,27 @@ embedded-hal ="0.2.5"
|
||||||
nb = "1.0"
|
nb = "1.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -16,12 +16,6 @@ rp2040-boot2 = { version = "0.2.0", optional = true }
|
||||||
rp2040-hal = { path = "../../rp2040-hal", version = "0.6.0" }
|
rp2040-hal = { path = "../../rp2040-hal", version = "0.6.0" }
|
||||||
cortex-m-rt = { version = "0.7", optional = true }
|
cortex-m-rt = { version = "0.7", optional = true }
|
||||||
|
|
||||||
[features]
|
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
|
||||||
boot2 = ["rp2040-boot2"]
|
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
panic-halt= "0.2.0"
|
panic-halt= "0.2.0"
|
||||||
embedded-hal ="0.2.5"
|
embedded-hal ="0.2.5"
|
||||||
|
@ -30,3 +24,29 @@ smart-leds = "0.3.0"
|
||||||
pio = "0.2.0"
|
pio = "0.2.0"
|
||||||
ws2812-pio = "0.4.0"
|
ws2812-pio = "0.4.0"
|
||||||
fugit = "0.3.5"
|
fugit = "0.3.5"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -26,7 +26,27 @@ ws2812-pio = "0.4.0"
|
||||||
fugit = "0.3.5"
|
fugit = "0.3.5"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -26,7 +26,27 @@ ws2812-pio = "0.4.0"
|
||||||
fugit = "0.3.5"
|
fugit = "0.3.5"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -28,7 +28,27 @@ ws2812-pio = "0.4.0"
|
||||||
pio = "0.2.0"
|
pio = "0.2.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["boot2", "rt", "critical-section-impl"]
|
# This is the set of features we enable by default
|
||||||
|
default = ["boot2", "rt", "critical-section-impl", "rom-func-cache"]
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
critical-section-impl = ["rp2040-hal/critical-section-impl"]
|
||||||
|
|
||||||
|
# 2nd stage bootloaders for rp2040
|
||||||
boot2 = ["rp2040-boot2"]
|
boot2 = ["rp2040-boot2"]
|
||||||
|
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
rt = ["cortex-m-rt","rp2040-hal/rt"]
|
||||||
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = ["rp2040-hal/rp2040-e5"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
|
rom-func-cache = ["rp2040-hal/rom-func-cache"]
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
|
disable-intrinsics = ["rp2040-hal/disable-intrinsics"]
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
|
rom-v2-intrinsics = ["rp2040-hal/rom-v2-intrinsics"]
|
||||||
|
|
|
@ -44,11 +44,23 @@ pio-proc = "0.2.0"
|
||||||
dht-sensor = "0.2.1"
|
dht-sensor = "0.2.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
# Minimal startup / runtime for Cortex-M microcontrollers
|
||||||
rt = ["rp2040-pac/rt"]
|
rt = ["rp2040-pac/rt"]
|
||||||
|
|
||||||
|
# Memoize(cache) ROM function pointers on first use to improve performance
|
||||||
rom-func-cache = []
|
rom-func-cache = []
|
||||||
|
|
||||||
|
# Disable automatic mapping of language features (like floating point math) to ROM functions
|
||||||
disable-intrinsics = []
|
disable-intrinsics = []
|
||||||
|
|
||||||
|
# This enables ROM functions for f64 math that were not present in the earliest RP2040s
|
||||||
rom-v2-intrinsics = []
|
rom-v2-intrinsics = []
|
||||||
rp2040-e5 = [] # USB errata 5: USB device fails to exit RESET state on busy USB bus.
|
|
||||||
|
# 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
|
||||||
|
rp2040-e5 = []
|
||||||
|
|
||||||
|
# critical section that is safe for multicore use
|
||||||
critical-section-impl = ["critical-section/restore-state-u8"]
|
critical-section-impl = ["critical-section/restore-state-u8"]
|
||||||
|
|
||||||
[[example]]
|
[[example]]
|
||||||
|
|
Loading…
Reference in a new issue