Files
firmware/mise.toml
T

47 lines
2.2 KiB
TOML

[tools]
just = "latest"
# Cargo-installed tooling via mise's `cargo:` backend.
"cargo:cargo-binutils" = "latest" # rust-objcopy, rust-size
"cargo:cargo-hex-to-uf2" = "latest" # ELF → UF2 for nRF52 / RP2040 DFU drives
"cargo:espup" = "0.17.1" # ESP Xtensa toolchain installer (pinned: [env] paths below match this version's defaults)
"cargo:espflash" = "4" # flash + save-image for ESP targets
"cargo:probe-rs-tools" = "latest" # debug-probe flash/run for ARM targets
# Stable Rust + cross-compile targets. Targets land under $RUSTUP_HOME for
# the pinned toolchain, so they're always available under `mise exec` — no
# extra `rustup target add` step at setup time.
#
# Xtensa ESP targets are NOT listed here — they use the self-contained `esp`
# toolchain populated by `mise run esp-install` (see [tasks] below). That
# toolchain ships its own rust-src for `-Zbuild-std`.
#
# profile = "minimal" (just rustc, rust-std, cargo), "default" (adds rust-docs, rustfmt, clippy)
#
[tools.rust]
version = "1.94"
profile = "default"
targets = "thumbv6m-none-eabi,thumbv7em-none-eabihf"
# ESP Xtensa toolchain. `cargo:espup` above only installs the *installer*;
# the actual rustc-esp + xtensa-esp-elf-gcc + esp-clang toolchains are
# populated by `mise run esp-install` (or `just setup`).
#
# espup hardcodes its install root to ~/.rustup/toolchains/esp/ — there's
# no --prefix or --install-dir flag — so the binaries necessarily live
# there. The [env] block below pins the exact PATH and LIBCLANG_PATH so
# every `mise exec` (which the justfile uses for `set shell`) resolves
# the cross-toolchain without depending on espup's stray ~/export-esp.sh.
#
# Bumping versions: edit the version dirs in BOTH [tasks.esp-install] (so
# espup installs the matching crosstool) AND [env] (so the path resolves).
[env]
_.path = [
"{{env.HOME}}/.rustup/toolchains/esp/xtensa-esp-elf/esp-15.2.0_20250920/xtensa-esp-elf/bin",
]
LIBCLANG_PATH = "{{env.HOME}}/.rustup/toolchains/esp/xtensa-esp32-elf-clang/esp-20.1.1_20250829/esp-clang/lib"
[tasks.esp-install]
description = "Install the ESP Xtensa toolchain (rustc-esp + GCC + clang) at versions matching [env]"
run = "espup install --crosstool-toolchain-version esp-15.2.0_20250920"