va108xx-rs/vorago-reb1
Robin Mueller 40ac37c239
Some checks are pending
Rust/va108xx-rs/pipeline/head Build queued...
Set of fixes
2024-06-16 18:56:45 +02:00
..
.cargo New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
.github New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
automation New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
examples New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
src Set of fixes 2024-06-16 18:56:45 +02:00
.gitignore New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
Cargo.toml Set of fixes 2024-06-16 18:56:45 +02:00
CHANGELOG.md New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
jlink.gdb New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
LICENSE-APACHE New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
memory.x New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
NOTICE New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
README.md New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00

Crates.io ci docs.rs

Rust BSP for the Vorago REB1 development board

This is the Rust Board Support Package crate for the Vorago REB1 development 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.

Building

Building an application requires the thumbv6m-none-eabi cross-compiler toolchain. If you have not installed it yet, you can do so with

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

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:

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. On Linux, you can install gdb-multiarch from the package manager.

  2. Install the JLink Tools.

  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

    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.

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