2.9 KiB
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.
-
Ensure that you have a suitable GDB application like
arm-none-eabi-gdb
orgdb-multiarch
installed first. On Windows, you can use xPacks. On Linux, you can installgdb-multiarch
from 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.toml
file depending on which GDB application you are using -
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