play/rust-embedded/lpc1114-test/README.md

66 lines
2 KiB
Markdown

# `stm32-template`
> A template for building applications for STM32 microcontrollers
## Dependencies
To build embedded programs using this template you'll need:
- The `cargo generate` subcommand. [Installation
instructions](https://github.com/cargo-generate/cargo-generate#installation).
``` console
$ cargo install cargo-generate
```
- Flash and run/debug tools:
``` console
$ cargo install probe-rs --features cli
```
- `rust-std` components (pre-compiled `core` crate) for the ARM Cortex-M
targets. Run:
``` console
$ rustup target add thumbv6m-none-eabi thumbv7m-none-eabi thumbv7em-none-eabi thumbv7em-none-eabihf
```
## Instantiate the template.
1. Run and enter project name
``` console
$ cargo generate --git https://github.com/burrbull/stm32-template/
Project Name: app
```
2. Specify **chip product name** and answer on several other guide questions.
3. Your program is ready to compile:
``` console
$ cargo build --release
```
## Flash and run/debug
You can flash your firmware using one of those tools:
- `cargo flash --release` — just flash
- `cargo run --release` — flash and run using `probe-rs run` runner or `probe-run` runner (deprecated) which you can set in `.cargo/config.toml`
- `cargo embed --release` — multifunctional tool for flash and debug
You also can debug your firmware on device from VS Code with [probe-rs](https://probe.rs/docs/tools/vscode/) extention or with `probe-rs gdb` command.
You will need SVD specification for your chip for this. You can load patched SVD files [here](https://stm32-rs.github.io/stm32-rs/).
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.
## Code of Conduct
Contribution to this crate is organized under the terms of the [Rust Code of
Conduct][CoC], the maintainer of this crate, promises
to intervene to uphold that code of conduct.
[CoC]: https://www.rust-lang.org/policies/code-of-conduct