fix: resolve ESP32-S3 linker errors, all boards produce firmware
Three fixes: - Add .cargo/config.toml with -Tlinkall.x for xtensa target (resolves ROM functions, interrupt handlers, memory layout) - Add integrated-timers feature to embassy-executor for ESP32 boards (resolves _embassy_time_schedule_wake) - Add `use esp_println as _` to pull in defmt global_logger (was being stripped as dead code because nothing referenced the crate) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
4 files changed
+11
No files matched your search
@@ -0,0 +1,6 @@
|
|||||||
|
[target.xtensa-esp32s3-none-elf]
|
||||||
|
rustflags = [
|
||||||
|
"-C", "link-arg=-nostartfiles",
|
||||||
|
"-C", "link-arg=-Tlinkall.x",
|
||||||
|
"-C", "link-arg=-Tdefmt.x",
|
||||||
|
]
|
||||||
Generated
+2
@@ -359,6 +359,8 @@ dependencies = [
|
|||||||
"critical-section",
|
"critical-section",
|
||||||
"document-features",
|
"document-features",
|
||||||
"embassy-executor-macros",
|
"embassy-executor-macros",
|
||||||
|
"embassy-time-driver",
|
||||||
|
"embassy-time-queue-driver",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|||||||
@@ -47,12 +47,14 @@ heltec_v3 = [
|
|||||||
"dep:esp-hal",
|
"dep:esp-hal",
|
||||||
"dep:esp-hal-embassy",
|
"dep:esp-hal-embassy",
|
||||||
"dep:esp-println",
|
"dep:esp-println",
|
||||||
|
"embassy-executor/integrated-timers",
|
||||||
]
|
]
|
||||||
heltec_v4 = [
|
heltec_v4 = [
|
||||||
"dep:esp-backtrace",
|
"dep:esp-backtrace",
|
||||||
"dep:esp-hal",
|
"dep:esp-hal",
|
||||||
"dep:esp-hal-embassy",
|
"dep:esp-hal-embassy",
|
||||||
"dep:esp-println",
|
"dep:esp-println",
|
||||||
|
"embassy-executor/integrated-timers",
|
||||||
]
|
]
|
||||||
rak_wisblock_4631 = [
|
rak_wisblock_4631 = [
|
||||||
"dep:cortex-m-rt",
|
"dep:cortex-m-rt",
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ cfg_if::cfg_if! {
|
|||||||
use panic_probe as _;
|
use panic_probe as _;
|
||||||
} else if #[cfg(any(feature = "heltec_v3", feature = "heltec_v4"))] {
|
} else if #[cfg(any(feature = "heltec_v3", feature = "heltec_v4"))] {
|
||||||
use esp_backtrace as _;
|
use esp_backtrace as _;
|
||||||
|
use esp_println as _; // provides defmt global_logger
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user