Rust/vorago-reb1/pipeline/head This commit looks good Details
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 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
jlink.gdb file is provided to allow flashing of the board from the command line.
Ensure that you have a suitable GDB application like
gdb-multiarchinstalled first. On Windows, you can use xPacks. On Linux, you can install
gdb-multiarchfrom the package manager.
Install the JLink Tools.
Start the JLink GDB server with the GUI or from the command line. The device should be recognized automatically
Make sure to select an appropriate runner in the
.cargo/config.tomlfile depending on which GDB application you are using
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 flash the board is a
Micro-USB cable and an
You can debug applications on the REB1 board with a graphical user interface using VS Code with
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.
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
Flashing the non-volatile memory