This commit is contained in:
parent
925a956693
commit
ef1c854cac
@ -14,16 +14,6 @@ various drivers in the embedded rust ecosystem.
|
|||||||
In contrats to other HAL implementations, there is only one chip variant available here so there
|
In contrats to other HAL implementations, there is only one chip variant available here so there
|
||||||
is no need to pass the chip variant as a feature.
|
is no need to pass the chip variant as a feature.
|
||||||
|
|
||||||
## Supported Boards
|
|
||||||
|
|
||||||
The first way to use this HAL will probably be with the
|
|
||||||
[REB1 development board](https://www.voragotech.com/products/reb1-va108x0-development-board-0).
|
|
||||||
The BSP provided for this board also contains instructions how to flash the board.
|
|
||||||
|
|
||||||
| Crate | Version |
|
|
||||||
|:------|:--------|
|
|
||||||
[vorago-reb1](https://crates.io/crates/vorago-reb1) | [![Crates.io](https://img.shields.io/crates/v/vorago-reb1)](https://crates.io/crates/vorago-reb1) |
|
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
Building an application requires the `thumbv6m-none-eabi` cross-compiler toolchain.
|
Building an application requires the `thumbv6m-none-eabi` cross-compiler toolchain.
|
||||||
@ -41,15 +31,6 @@ available to learn Rust:
|
|||||||
- [Rust Embedded Book](https://docs.rust-embedded.org/book/)
|
- [Rust Embedded Book](https://docs.rust-embedded.org/book/)
|
||||||
- [Rust Discovery Book](https://docs.rust-embedded.org/discovery/)
|
- [Rust Discovery Book](https://docs.rust-embedded.org/discovery/)
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
Some examples, which are not specific to a particular board were provided as well.
|
|
||||||
You can build the timer example with
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cargo build --example timer-ticks
|
|
||||||
```
|
|
||||||
|
|
||||||
## Setting up your own binary crate
|
## Setting up your own binary crate
|
||||||
|
|
||||||
If you have a custom board, you might be interested in setting up a new binary crate for your
|
If you have a custom board, you might be interested in setting up a new binary crate for your
|
||||||
@ -83,5 +64,4 @@ is contained within the
|
|||||||
6. Build the application with `cargo build`
|
6. Build the application with `cargo build`
|
||||||
|
|
||||||
7. Flashing the board might work differently for different boards and there is usually
|
7. Flashing the board might work differently for different boards and there is usually
|
||||||
more than one way. You can find example instructions for the REB1 development board
|
more than one way. You can find example instructions in primary README.
|
||||||
[here](https://egit.irs.uni-stuttgart.de/rust/vorago-reb1).
|
|
||||||
|
@ -9,9 +9,7 @@ Voragos VA108xx series of Cortex-M0 based microcontrollers.
|
|||||||
The crate was generated using [`svd2rust`](https://github.com/rust-embedded/svd2rust).
|
The crate was generated using [`svd2rust`](https://github.com/rust-embedded/svd2rust).
|
||||||
|
|
||||||
If you are interested in higher-level abstractions, it is recommended you visit
|
If you are interested in higher-level abstractions, it is recommended you visit
|
||||||
the [`va108xx-hal` HAL crate](https://egit.irs.uni-stuttgart.de/rust/va108xx-hal) and
|
the `va108xx-hal` HAL crate and the `vorago-reb1` BSP crate which build on top of this PAC.
|
||||||
the [`vorago-reb1` BSP crate](https://github.com/robamu-org/vorago-reb1-rs) which build on top of
|
|
||||||
this PAC and provide application examples as well.
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
@ -7,76 +7,4 @@ This is the Rust **B**oard **S**upport **P**ackage crate for the Vorago REB1 dev
|
|||||||
Its aim is to provide drivers for the board features of the REB1 board
|
Its aim is to provide drivers for the board features of the REB1 board
|
||||||
|
|
||||||
The BSP builds on top of the [HAL crate for VA108xx devices](https://egit.irs.uni-stuttgart.de/rust/va108xx-hal).
|
The BSP builds on top of the [HAL crate for VA108xx devices](https://egit.irs.uni-stuttgart.de/rust/va108xx-hal).
|
||||||
|
The example folder contains some example applications using the on-board peripherals.
|
||||||
## Building
|
|
||||||
|
|
||||||
Building an application requires the `thumbv6m-none-eabi` cross-compiler toolchain.
|
|
||||||
If you have not installed it yet, you can do so with
|
|
||||||
|
|
||||||
```sh
|
|
||||||
rustup target add thumbv6m-none-eabi
|
|
||||||
```
|
|
||||||
|
|
||||||
This repository provides some example applications to show how the BSP is used. For example
|
|
||||||
you can build the blinky example with
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cargo build --example blinky-leds
|
|
||||||
```
|
|
||||||
|
|
||||||
If you have not done this yet, it is recommended to read some of the excellent resources
|
|
||||||
available to learn Rust:
|
|
||||||
|
|
||||||
- [Rust Embedded Book](https://docs.rust-embedded.org/book/)
|
|
||||||
- [Rust Discovery Book](https://docs.rust-embedded.org/discovery/)
|
|
||||||
|
|
||||||
## Flashing from the command line
|
|
||||||
|
|
||||||
A `jlink.gdb` file is provided to allow flashing of the board from the command line.
|
|
||||||
|
|
||||||
|
|
||||||
1. Ensure that you have a suitable GDB application like `arm-none-eabi-gdb` or `gdb-multiarch`
|
|
||||||
installed first. On Windows, you can use [xPacks](https://xpack.github.io/arm-none-eabi-gcc/).
|
|
||||||
On Linux, you can install `gdb-multiarch` from the package manager.
|
|
||||||
|
|
||||||
2. Install the [JLink Tools](https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack).
|
|
||||||
|
|
||||||
3. Start the JLink GDB server with the GUI or from the command line. The device should be recognized
|
|
||||||
automatically
|
|
||||||
|
|
||||||
4. Make sure to select an appropriate runner in the `.cargo/config.toml` file depending on which
|
|
||||||
GDB application you are using
|
|
||||||
|
|
||||||
5. Use
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cargo run --example blinky-leds
|
|
||||||
```
|
|
||||||
|
|
||||||
to flash the board. The debugger should stop at the start of the main.
|
|
||||||
|
|
||||||
## Debugging with VS Code
|
|
||||||
|
|
||||||
The REB1 board features an on-board JTAG, so all that is required to debug the board is a
|
|
||||||
Micro-USB cable.
|
|
||||||
|
|
||||||
You can debug applications on the REB1 board with a graphical user interface using VS Code with
|
|
||||||
the [`Cortex-Debug` plugin](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug).
|
|
||||||
|
|
||||||
Some sample configuration files for VS code were provided as well. You can simply use `Run and Debug`
|
|
||||||
to automatically rebuild and flash your application.
|
|
||||||
|
|
||||||
The `tasks.json` and the `launch.json` files are generic and you can use them immediately by
|
|
||||||
opening the folder in VS code or adding it to a workspace.
|
|
||||||
|
|
||||||
If you would like to use a custom GDB application, you can specify the gdb binary in the following
|
|
||||||
configuration variables in your `settings.json`:
|
|
||||||
|
|
||||||
- `"cortex-debug.gdbPath"`
|
|
||||||
- `"cortex-debug.gdbPath.linux"`
|
|
||||||
- `"cortex-debug.gdbPath.windows"`
|
|
||||||
- `"cortex-debug.gdbPath.osx"`
|
|
||||||
|
|
||||||
## Flashing the non-volatile memory
|
|
||||||
|
|
||||||
Coming Soon
|
|
||||||
|
Loading…
Reference in New Issue
Block a user