fix: resolve ESP32-S3 runtime crash, match official esp-hal examples
Root causes found and fixed: - USB OTG init stole the PHY from USB-Serial-JTAG (the only USB on V4) - executor-thread feature conflicted with esp-hal-embassy's executor - Linker flags needed -Wl, prefix for GCC-to-LD passthrough - Missing exception-handler feature on esp-backtrace - Missing alloc in build-std - Missing LTO and codegen-units=1 in release profile - Vext on V4 is active LOW (datasheet correct, Arduino lib was wrong) Now matches the official esp-hal v0.22.0 examples exactly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
8 files changed
+58
-70
No files matched your search
+10
-4
@@ -9,7 +9,7 @@ cfg-if = "1.0"
|
||||
critical-section = "1.2"
|
||||
defmt = "0.3"
|
||||
embassy-embedded-hal = "0.2"
|
||||
embassy-executor = { version = "0.6", features = ["task-arena-size-12288", "executor-thread"] }
|
||||
embassy-executor = { version = "0.6", features = ["task-arena-size-32768"] }
|
||||
embassy-sync = "0.6"
|
||||
embassy-time = "0.3"
|
||||
embassy-usb = { version = "0.3", features = ["defmt"] }
|
||||
@@ -27,7 +27,7 @@ ssd1306 = { version = "0.10", features = ["async"] }
|
||||
embassy-futures = "0.1"
|
||||
|
||||
# ESP32-S3 (Heltec V3) — requires esp toolchain (espup)
|
||||
esp-backtrace = { version = "0.14", optional = true, features = ["esp32s3", "panic-handler", "defmt"] }
|
||||
esp-backtrace = { version = "0.14", optional = true, features = ["esp32s3", "panic-handler", "exception-handler", "defmt"] }
|
||||
esp-hal = { version = "0.22", optional = true, features = ["esp32s3"] }
|
||||
esp-hal-embassy = { version = "0.5", optional = true, features = ["esp32s3"] }
|
||||
esp-println = { version = "0.12", optional = true, features = ["esp32s3", "defmt-espflash"] }
|
||||
@@ -47,18 +47,24 @@ heltec_v3 = [
|
||||
"dep:esp-hal",
|
||||
"dep:esp-hal-embassy",
|
||||
"dep:esp-println",
|
||||
"embassy-executor/integrated-timers",
|
||||
"embassy-time/generic-queue-8",
|
||||
]
|
||||
heltec_v4 = [
|
||||
"dep:esp-backtrace",
|
||||
"dep:esp-hal",
|
||||
"dep:esp-hal-embassy",
|
||||
"dep:esp-println",
|
||||
"embassy-executor/integrated-timers",
|
||||
"embassy-time/generic-queue-8",
|
||||
]
|
||||
rak_wisblock_4631 = [
|
||||
"dep:cortex-m-rt",
|
||||
"dep:embassy-nrf",
|
||||
"dep:panic-probe",
|
||||
"embassy-executor/arch-cortex-m",
|
||||
"embassy-executor/executor-thread",
|
||||
]
|
||||
|
||||
[profile.release]
|
||||
codegen-units = 1
|
||||
lto = "fat"
|
||||
opt-level = 3
|
||||
Reference in new issue
Block a user