Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation for Cortex-M23/M33/M35P #262

Closed
NZSmartie opened this issue Aug 29, 2020 · 1 comment · Fixed by #378
Closed

Add documentation for Cortex-M23/M33/M35P #262

NZSmartie opened this issue Aug 29, 2020 · 1 comment · Fixed by #378
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@NZSmartie
Copy link

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

@eldruin
Copy link
Member

eldruin commented Aug 31, 2020

Sounds fine to me, although that list is getting longer. Could you send a PR to this repo adding these?

@eldruin eldruin added enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed labels Aug 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants