From a5dafa1bd88d61f08107c8712ebc0b65bcc0a446 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 25 Jun 2024 17:57:58 +0200 Subject: [PATCH] add docs for setting up binary crate --- va416xx-hal/README.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/va416xx-hal/README.md b/va416xx-hal/README.md index 2a6e4bc..ee7907a 100644 --- a/va416xx-hal/README.md +++ b/va416xx-hal/README.md @@ -44,4 +44,35 @@ to conveniently flash with `cargo run`. ## Setting up your own binary crate -TODO \ No newline at end of file +If you have a custom board, you might be interested in setting up a new binary crate for your +project. These steps aim to provide a complete list to get a binary crate working to flash +your custom board. + +The hello world of embedded development is usually to blinky a LED. This example +is contained within the +[examples folder](https://egit.irs.uni-stuttgart.de/rust/va416xx-rs/src/branch/main/examples/simple/examples/blinky.rs). + +1. Set up your Rust cross-compiler if you have not done so yet. See more in the [build chapter](#Building) +2. Create a new binary crate with `cargo init` +3. To ensure that `cargo build` cross-compiles, it is recommended to create a `.cargo/config.toml` + file. A sample `.cargo/config.toml` file is provided in this repository as well +4. Copy the `memory.x` file into your project. This file contains information required by the linker. +5. Copy the `blinky.rs` file to the `src/main.rs` file in your binary crate +6. You need to add some dependencies to your `Cargo.toml` file + + ```toml + [dependencies] + cortex-m = "" + cortex-m-rt = "" + panic-halt = "" + embedded-hal = "" + + [dependencies.va416xx-hal] + version = "" + features = ["rt"] + ``` + +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 in primary README.