This is sort of a cross-posted issue from rust-embedded/cortex-m-quickstart#94
I'm getting started with a ATSAML10xxxx series project that uses Cortex M23 (ARM v8 baseline)
Since I'm new to Rust development (but already an experienced embedded developer), I've been following The Embedded Rust Book - Installing the tools. Specifically it suggests adding the following targets with rustup target add
thumbv6m-none-eabi
thumbv7m-none-eabi
thumbv7em-none-eabi
thumbv7em-none-eabihf
As for ARM v8 baseline, mainline and mainline with extension, the targets are respectively:
thumbv8m.base-none-eabi (e.g. Cortex M23)
thumbv8m.main-none-eabi (Not sure which arch uses this instruction set specifically 🤷♀️)
thumbv8m.main-none-eabihf (e.g. Cortex M33, CortexM35P)
Could these be added to src/intro/install.md and also other places I've yet to come across?
|
rustc 1.31.1 (b6c32da9b 2018-12-18) |
|
``` |
|
|
|
For bandwidth and disk usage concerns the default installation only supports |
|
native compilation. To add cross compilation support for the ARM Cortex-M |
|
architectures choose one of the following compilation targets. For the STM32F3DISCOVERY |
|
board used for the examples in this book, use the final `thumbv7em-none-eabihf` target. |
|
|
|
Cortex-M0, M0+, and M1 (ARMv6-M architecture): |
|
``` console |
|
$ rustup target add thumbv6m-none-eabi |
|
``` |
|
|
|
Cortex-M3 (ARMv7-M architecture): |
|
``` console |
|
$ rustup target add thumbv7m-none-eabi |
|
``` |
|
|
|
Cortex-M4 and M7 without hardware floating point (ARMv7E-M architecture): |
|
``` console |
|
$ rustup target add thumbv7em-none-eabi |
|
``` |
|
|
|
Cortex-M4F and M7F with hardware floating point (ARMv7E-M architecture): |
|
``` console |
|
$ rustup target add thumbv7em-none-eabihf |
|
``` |
Maybe a reference to the Cortex-M comparison table might help with picking out the right instruction set
This is sort of a cross-posted issue from rust-embedded/cortex-m-quickstart#94
I'm getting started with a
ATSAML10xxxxseries project that uses Cortex M23 (ARM v8 baseline)Since I'm new to Rust development (but already an experienced embedded developer), I've been following The Embedded Rust Book - Installing the tools. Specifically it suggests adding the following targets with
rustup target addthumbv6m-none-eabithumbv7m-none-eabithumbv7em-none-eabithumbv7em-none-eabihfAs for ARM v8 baseline, mainline and mainline with extension, the targets are respectively:
thumbv8m.base-none-eabi(e.g. Cortex M23)thumbv8m.main-none-eabi(Not sure which arch uses this instruction set specifically 🤷♀️)thumbv8m.main-none-eabihf(e.g. Cortex M33, CortexM35P)Could these be added to
src/intro/install.mdand also other places I've yet to come across?book/src/intro/install.md
Lines 14 to 40 in 0cd2ca1
Maybe a reference to the Cortex-M comparison table might help with picking out the right instruction set