Describe the bug
Flashing firmware for ESP32-C3 fails with an error. This happens regardless of whether the direct-boot feature is provided to the esp-hal (direct-boot bypasses the second stage bootloader on the esp32c3).
❯ probe-run --chip esp32c3 target/riscv32imac-unknown-none-elf/debug/firmware
Error: `.vector_table` section is missing
Expected and observed behavior
Expected the program to flash successfully.
config.toml
The contents of your project's .cargo/config.toml file
[target.riscv32imac-unknown-none-elf]
# runner = "espflash --monitor"
runner = "probe-run --chip esp32c3"
[build]
rustflags = [
# Required to obtain backtraces (e.g. when using the "esp-backtrace" crate.)
# NOTE: May negatively impact performance of produced code
"-C",
"force-frame-pointers",
"-C",
"link-arg=-Tlinkall.x",
# For defmt
# "-C",
# "link-arg=-Tdefmt.x",
]
target = "riscv32imac-unknown-none-elf"
[unstable]
build-std = ["core", "alloc"]
Probe details
❯ probe-rs-cli list
The following devices were found:
[0]: ESP JTAG (VID: 303a, PID: 1001, Serial: 84:F7:03:33:50:60, EspJtag)
❯ probe-rs-cli info
No DAP interface was found on the connected probe. Thus, ARM info cannot be printed.
RISCV Chip:
IDCODE: 0000005c25
Version: 0
Part: 5
Manufacturer: 1554 (Espressif Systems (Shanghai) Co Ltd)
Describe the bug Flashing firmware for ESP32-C3 fails with an error. This happens regardless of whether the
direct-boot
feature is provided to theesp-hal
(direct-boot bypasses the second stage bootloader on the esp32c3).Cargo flash works, although it only works in direct-boot mode due to https://github.com/probe-rs/probe-rs/issues/1194
To Reproduce
Expected and observed behavior Expected the program to flash successfully.
config.toml The contents of your project's
.cargo/config.toml
fileProbe details
Operating System: MacOS 12.5
ELF file (attachment) firmware.zip
Source Code: https://github.com/SlimeVR/SlimeVR-Rust/tree/5e7e8e60175d37eac35ac7f5d636f4a97c8784fb/firmware