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",
|
||||
"document-features",
|
||||
"embassy-executor-macros",
|
||||
"embassy-time-driver",
|
||||
"embassy-time-queue-driver",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
@@ -47,12 +47,14 @@ heltec_v3 = [
|
||||
"dep:esp-hal",
|
||||
"dep:esp-hal-embassy",
|
||||
"dep:esp-println",
|
||||
"embassy-executor/integrated-timers",
|
||||
]
|
||||
heltec_v4 = [
|
||||
"dep:esp-backtrace",
|
||||
"dep:esp-hal",
|
||||
"dep:esp-hal-embassy",
|
||||
"dep:esp-println",
|
||||
"embassy-executor/integrated-timers",
|
||||
]
|
||||
rak_wisblock_4631 = [
|
||||
"dep:cortex-m-rt",
|
||||
|
||||
@@ -17,6 +17,7 @@ cfg_if::cfg_if! {
|
||||
use panic_probe as _;
|
||||
} else if #[cfg(any(feature = "heltec_v3", feature = "heltec_v4"))] {
|
||||
use esp_backtrace as _;
|
||||
use esp_println as _; // provides defmt global_logger
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user