Merge pull request 'fix READMEs' (#4) from fix-readmes into main
All checks were successful
Rust/va108xx-rs/pipeline/head This commit looks good

Reviewed-on: #4
This commit is contained in:
Robin Müller 2024-06-16 19:10:41 +02:00
commit 63ce881bdd
3 changed files with 3 additions and 97 deletions

View File

@ -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
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 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 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
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`
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
[here](https://egit.irs.uni-stuttgart.de/rust/vorago-reb1).
more than one way. You can find example instructions in primary README.

View File

@ -9,9 +9,7 @@ Voragos VA108xx series of Cortex-M0 based microcontrollers.
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
the [`va108xx-hal` HAL crate](https://egit.irs.uni-stuttgart.de/rust/va108xx-hal) and
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.
the `va108xx-hal` HAL crate and the `vorago-reb1` BSP crate which build on top of this PAC.
## Usage

View File

@ -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
The BSP builds on top of the [HAL crate for VA108xx devices](https://egit.irs.uni-stuttgart.de/rust/va108xx-hal).
## 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
The example folder contains some example applications using the on-board peripherals.