[target.'cfg(all(target_arch = "arm", target_os = "none"))'] # --no-catch-reset: don't trap the reset vector, so pressing the board's NRST # button re-runs the firmware instead of ending the session with an Exception. # (hardfault catch stays on by default, so panics still produce a backtrace.) runner = "probe-rs run --chip STM32F411VETx --no-catch-reset" # flip-link: zero-cost stack-overflow protection. It wraps the real linker # (LLD here), so it stays compatible with the -Tlink.x / -Tdefmt.x args below. linker = "flip-link" rustflags = [ # LLD (shipped with the Rust toolchain) is used as the default linker "-C", "link-arg=-Tlink.x", # defmt's linker script, must come after link.x "-C", "link-arg=-Tdefmt.x", ] [build] target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU) [env] # defmt filters log levels at COMPILE time; without this, info!/debug! are # stripped and only println! survives. "debug" enables debug/info/warn/error. DEFMT_LOG = "debug"