prepare HAL release #16
@ -1,38 +0,0 @@
|
|||||||
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
|
|
||||||
# uncomment ONE of these three option to make `cargo run` start a GDB session
|
|
||||||
# which option to pick depends on your system
|
|
||||||
# If the RevA board is used, replace jlink.gdb with jlink-reva.gdb
|
|
||||||
# runner = "arm-none-eabi-gdb -q -x jlink.gdb"
|
|
||||||
# runner = "gdb-multiarch -q -x jlink.gdb"
|
|
||||||
# runner = "gdb -q -x openocd.gdb"
|
|
||||||
# runner = "gdb-multiarch -q -x jlink.gdb"
|
|
||||||
|
|
||||||
rustflags = [
|
|
||||||
# This is needed if your flash or ram addresses are not aligned to 0x10000 in memory.x
|
|
||||||
# See https://github.com/rust-embedded/cortex-m-quickstart/pull/95
|
|
||||||
"-C", "link-arg=--nmagic",
|
|
||||||
|
|
||||||
# LLD (shipped with the Rust toolchain) is used as the default linker
|
|
||||||
"-C", "link-arg=-Tlink.x",
|
|
||||||
|
|
||||||
# if you run into problems with LLD switch to the GNU linker by commenting out
|
|
||||||
# this line
|
|
||||||
# "-C", "linker=arm-none-eabi-ld",
|
|
||||||
|
|
||||||
# if you need to link to pre-compiled C libraries provided by a C toolchain
|
|
||||||
# use GCC as the linker by commenting out both lines above and then
|
|
||||||
# uncommenting the three lines below
|
|
||||||
# "-C", "linker=arm-none-eabi-gcc",
|
|
||||||
# "-C", "link-arg=-Wl,-Tlink.x",
|
|
||||||
# "-C", "link-arg=-nostartfiles",
|
|
||||||
]
|
|
||||||
|
|
||||||
[build]
|
|
||||||
# Pick ONE of these compilation targets
|
|
||||||
# target = "thumbv6m-none-eabi" # Cortex-M0 and Cortex-M0+
|
|
||||||
# target = "thumbv7m-none-eabi" # Cortex-M3
|
|
||||||
# target = "thumbv7em-none-eabi" # Cortex-M4 and Cortex-M7 (no FPU)
|
|
||||||
target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU)
|
|
||||||
# target = "thumbv8m.base-none-eabi" # Cortex-M23
|
|
||||||
# target = "thumbv8m.main-none-eabi" # Cortex-M33 (no FPU)
|
|
||||||
# target = "thumbv8m.main-none-eabihf" # Cortex-M33 (with FPU)
|
|
@ -1,39 +0,0 @@
|
|||||||
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
|
|
||||||
# uncomment ONE of these three option to make `cargo run` start a GDB session
|
|
||||||
# which option to pick depends on your system
|
|
||||||
# If the RevA board is used, replace jlink.gdb with jlink-reva.gdb
|
|
||||||
# runner = "arm-none-eabi-gdb -q -x jlink/jlink.gdb"
|
|
||||||
# runner = "gdb-multiarch -q -x jlink/jlink.gdb"
|
|
||||||
|
|
||||||
# runner = "arm-none-eabi-gdb -q -x jlink/jlink-reva.gdb"
|
|
||||||
# runner = "gdb-multiarch -q -x jlink/jlink-reva.gdb"
|
|
||||||
|
|
||||||
rustflags = [
|
|
||||||
# This is needed if your flash or ram addresses are not aligned to 0x10000 in memory.x
|
|
||||||
# See https://github.com/rust-embedded/cortex-m-quickstart/pull/95
|
|
||||||
"-C", "link-arg=--nmagic",
|
|
||||||
|
|
||||||
# LLD (shipped with the Rust toolchain) is used as the default linker
|
|
||||||
"-C", "link-arg=-Tlink.x",
|
|
||||||
|
|
||||||
# if you run into problems with LLD switch to the GNU linker by commenting out
|
|
||||||
# this line
|
|
||||||
# "-C", "linker=arm-none-eabi-ld",
|
|
||||||
|
|
||||||
# if you need to link to pre-compiled C libraries provided by a C toolchain
|
|
||||||
# use GCC as the linker by commenting out both lines above and then
|
|
||||||
# uncommenting the three lines below
|
|
||||||
# "-C", "linker=arm-none-eabi-gcc",
|
|
||||||
# "-C", "link-arg=-Wl,-Tlink.x",
|
|
||||||
# "-C", "link-arg=-nostartfiles",
|
|
||||||
]
|
|
||||||
|
|
||||||
[build]
|
|
||||||
# Pick ONE of these compilation targets
|
|
||||||
# target = "thumbv6m-none-eabi" # Cortex-M0 and Cortex-M0+
|
|
||||||
# target = "thumbv7m-none-eabi" # Cortex-M3
|
|
||||||
# target = "thumbv7em-none-eabi" # Cortex-M4 and Cortex-M7 (no FPU)
|
|
||||||
target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU)
|
|
||||||
# target = "thumbv8m.base-none-eabi" # Cortex-M23
|
|
||||||
# target = "thumbv8m.main-none-eabi" # Cortex-M33 (no FPU)
|
|
||||||
# target = "thumbv8m.main-none-eabihf" # Cortex-M33 (with FPU)
|
|
@ -4,8 +4,8 @@ version = "0.1.0"
|
|||||||
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "HAL for the Vorago VA416xx family of MCUs"
|
description = "HAL for the Vorago VA416xx family of MCUs"
|
||||||
homepage = "https://egit.irs.uni-stuttgart.de/rust/va416xx-hal"
|
homepage = "https://egit.irs.uni-stuttgart.de/rust/va416xx-rs"
|
||||||
repository = "https://egit.irs.uni-stuttgart.de/rust/va416xx-hal"
|
repository = "https://egit.irs.uni-stuttgart.de/rust/va416xx-rs"
|
||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
keywords = ["no-std", "hal", "cortex-m", "vorago", "va416xx"]
|
keywords = ["no-std", "hal", "cortex-m", "vorago", "va416xx"]
|
||||||
categories = ["embedded", "no-std", "hardware-support"]
|
categories = ["embedded", "no-std", "hardware-support"]
|
||||||
|
@ -8,12 +8,6 @@ raw PAC. This crate also implements traits specified by the
|
|||||||
[embedded-hal](https://github.com/rust-embedded/embedded-hal) project, making it compatible with
|
[embedded-hal](https://github.com/rust-embedded/embedded-hal) project, making it compatible with
|
||||||
various drivers in the embedded rust ecosystem.
|
various drivers in the embedded rust ecosystem.
|
||||||
|
|
||||||
## Supported Boards
|
|
||||||
|
|
||||||
The first way to use this HAL will probably be with the
|
|
||||||
[PEB1 development board](https://www.voragotech.com/products/peb1va416x0-development-kit).
|
|
||||||
The BSP provided for this board also contains instructions how to flash the board.
|
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
Building an application requires the `thumbv7em-none-eabihf` cross-compiler toolchain.
|
Building an application requires the `thumbv7em-none-eabihf` cross-compiler toolchain.
|
||||||
@ -44,7 +38,8 @@ is contained within the
|
|||||||
1. Set up your Rust cross-compiler if you have not done so yet. See more in the [build chapter](#Building)
|
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`
|
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`
|
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
|
file. You can use [this](https://egit.irs.uni-stuttgart.de/rust/va416xx-rs/src/branch/main/.cargo/def-config.toml)
|
||||||
|
sample file as a starting point.
|
||||||
4. Copy the `memory.x` file into your project. This file contains information required by the linker.
|
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
|
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
|
6. You need to add some dependencies to your `Cargo.toml` file
|
||||||
|
@ -4,8 +4,8 @@ version = "0.2.0"
|
|||||||
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "PAC for the Vorago VA416xx family of MCUs"
|
description = "PAC for the Vorago VA416xx family of MCUs"
|
||||||
homepage = "https://egit.irs.uni-stuttgart.de/rust/va416xx"
|
homepage = "https://egit.irs.uni-stuttgart.de/rust/va416xx-rs"
|
||||||
repository = "https://egit.irs.uni-stuttgart.de/rust/va416xx"
|
repository = "https://egit.irs.uni-stuttgart.de/rust/va416xx-rs"
|
||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
keywords = ["no-std", "arm", "cortex-m", "vorago", "va416xx"]
|
keywords = ["no-std", "arm", "cortex-m", "vorago", "va416xx"]
|
||||||
categories = ["embedded", "no-std", "hardware-support"]
|
categories = ["embedded", "no-std", "hardware-support"]
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
|
|
||||||
# uncomment ONE of these three option to make `cargo run` start a GDB session
|
|
||||||
# which option to pick depends on your system
|
|
||||||
# If the RevA board is used, replace jlink.gdb with jlink-reva.gdb
|
|
||||||
# runner = "arm-none-eabi-gdb -q -x jlink/jlink.gdb"
|
|
||||||
# runner = "gdb-multiarch -q -x jlink/jlink.gdb"
|
|
||||||
|
|
||||||
# runner = "arm-none-eabi-gdb -q -x jlink/jlink-reva.gdb"
|
|
||||||
# runner = "gdb-multiarch -q -x jlink/jlink-reva.gdb"
|
|
||||||
|
|
||||||
rustflags = [
|
|
||||||
# This is needed if your flash or ram addresses are not aligned to 0x10000 in memory.x
|
|
||||||
# See https://github.com/rust-embedded/cortex-m-quickstart/pull/95
|
|
||||||
"-C", "link-arg=--nmagic",
|
|
||||||
|
|
||||||
# LLD (shipped with the Rust toolchain) is used as the default linker
|
|
||||||
"-C", "link-arg=-Tlink.x",
|
|
||||||
|
|
||||||
# if you run into problems with LLD switch to the GNU linker by commenting out
|
|
||||||
# this line
|
|
||||||
# "-C", "linker=arm-none-eabi-ld",
|
|
||||||
|
|
||||||
# if you need to link to pre-compiled C libraries provided by a C toolchain
|
|
||||||
# use GCC as the linker by commenting out both lines above and then
|
|
||||||
# uncommenting the three lines below
|
|
||||||
# "-C", "linker=arm-none-eabi-gcc",
|
|
||||||
# "-C", "link-arg=-Wl,-Tlink.x",
|
|
||||||
# "-C", "link-arg=-nostartfiles",
|
|
||||||
]
|
|
||||||
|
|
||||||
[build]
|
|
||||||
# Pick ONE of these compilation targets
|
|
||||||
# target = "thumbv6m-none-eabi" # Cortex-M0 and Cortex-M0+
|
|
||||||
# target = "thumbv7m-none-eabi" # Cortex-M3
|
|
||||||
# target = "thumbv7em-none-eabi" # Cortex-M4 and Cortex-M7 (no FPU)
|
|
||||||
target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU)
|
|
||||||
# target = "thumbv8m.base-none-eabi" # Cortex-M23
|
|
||||||
# target = "thumbv8m.main-none-eabi" # Cortex-M33 (no FPU)
|
|
||||||
# target = "thumbv8m.main-none-eabihf" # Cortex-M33 (with FPU)
|
|
Loading…
Reference in New Issue
Block a user