# 装甲板的目标是 ESP32-C3(RISC-V),与外层 esp32/.cargo/config.toml 的 # Xtensa 目标互不相干。这个文件离得近,所以会覆盖外层同名键(尤其是 MCU)。 [build] target = "riscv32imc-esp-espidf" [target.riscv32imc-esp-espidf] linker = "ldproxy" runner = "espflash flash --monitor" rustflags = ["--cfg", "espidf_time64"] [unstable] # `esp` 工具链只带了 host 的预编译 std,没有 esp 目标(与图传板那套一样)。 # 所以必须自己编 std:键名是 `build-std`(连字符),写成 `build_std` 会被 cargo # 当成未知键静默忽略,然后在链接阶段报找不到 `core`。 build-std = ["std", "panic_abort"] [env] MCU = "esp32c3" # 本机装了两套 ESP-IDF: # # /Users/peng/.espressif/v6.0.1/esp-idf eim 装的,工具链齐全(含 RISC-V) # /Users/peng/.espressif/esp-idf/v5.5.5 只有 Xtensa 工具链(图传板在用) # # C3 是 RISC-V,所以这里指向 v6.0.1。esp-idf-sys 0.38.1 支持 6.0–6.2。 # # `ESP_IDF_TOOLS_INSTALL_DIR` 刻意 `force = false`:默认 `global`(即 ~/.espressif), # 但如果环境里已经给了 `custom:<可写目录>`(沙箱、CI),就用环境里的那个。 # 形状必须与外层 esp32/.cargo/config.toml 一致(都是表),否则 cargo 合并配置会报错。 IDF_PATH = { value = "/Users/peng/.espressif/v6.0.1/esp-idf", force = true } ESP_IDF_TOOLS_INSTALL_DIR = { value = "global", force = false }