[build] target = "thumbv6m-none-eabi" # Target specific options [target.thumbv6m-none-eabi] # Pass some extra options to rustc, some of which get passed on to the linker. # # * linker argument --nmagic turns off page alignment of sections (which saves # flash space) # * linker argument -Tlink.x tells the linker to use link.x as the linker # script. This is usually provided by the cortex-m-rt crate, and by default # the version in that crate will include a file called `memory.x` which # describes the particular memory layout for your specific chip. # * no-vectorize-loops turns off the loop vectorizer (seeing as the M0+ doesn't # have SIMD) rustflags = [ "-C", "linker=flip-link", "-C", "link-arg=--nmagic", "-C", "link-arg=-Tlink.x", "-C", "link-arg=-Tdefmt.x", # Code-size optimizations. # trap unreachable can save a lot of space, but requires nightly compiler. # uncomment the next line if you wish to enable it # "-Z", "trap-unreachable=no", "-C", "no-vectorize-loops", ] # This runner will make a UF2 file and then copy it to a mounted RP2040 in USB # Bootloader mode: # runner = "elf2uf2-rs -d" # This runner will find a supported SWD debug probe and flash your RP2040 over # SWD: runner = "probe-rs run --chip RP2040"