Compare commits
13 Commits
va108xx-ha
...
e30d6d3f22
Author | SHA1 | Date | |
---|---|---|---|
e30d6d3f22
|
|||
7603185156
|
|||
2b6c013241
|
|||
ee8a481c4f
|
|||
ea35221d41
|
|||
a1a5156caf
|
|||
0f3614465f
|
|||
52f5d42358
|
|||
1f4d6f601d
|
|||
f7ff74940a
|
|||
60305ef393
|
|||
ce7a8665a3
|
|||
784a6d7146
|
@ -19,11 +19,6 @@ This workspace contains the following released crates:
|
|||||||
|
|
||||||
It also contains the following helper crates:
|
It also contains the following helper crates:
|
||||||
|
|
||||||
- The [`bootloader`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/bootloader)
|
|
||||||
crate contains a sample bootloader strongly based on the one provided by Vorago.
|
|
||||||
- The [`flashloader`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/flashloader)
|
|
||||||
crate contains a sample flashloader which is able to update the redundant images in the NVM which
|
|
||||||
is compatible to the provided bootloader as well.
|
|
||||||
- The [`board-tests`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/board-tests)
|
- The [`board-tests`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/board-tests)
|
||||||
contains an application which can be used to test the libraries on the board.
|
contains an application which can be used to test the libraries on the board.
|
||||||
- The [`examples`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples)
|
- The [`examples`](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples)
|
||||||
|
@ -14,6 +14,7 @@ embedded-hal-nb = "1"
|
|||||||
embedded-io = "0.6"
|
embedded-io = "0.6"
|
||||||
|
|
||||||
[dependencies.va108xx-hal]
|
[dependencies.va108xx-hal]
|
||||||
|
version = "0.7"
|
||||||
path = "../va108xx-hal"
|
path = "../va108xx-hal"
|
||||||
features = ["rt"]
|
features = ["rt"]
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
VA108xx Bootloader Application
|
VA416xx Bootloader Application
|
||||||
=======
|
=======
|
||||||
|
|
||||||
This is the Rust version of the bootloader supplied by Vorago.
|
This is the Rust version of the bootloader supplied by Vorago.
|
||||||
@ -11,10 +11,10 @@ The bootloader uses the following memory map:
|
|||||||
| ------ | ---- | ---- |
|
| ------ | ---- | ---- |
|
||||||
| 0x0 | Bootloader start | code up to 0x3FFC bytes |
|
| 0x0 | Bootloader start | code up to 0x3FFC bytes |
|
||||||
| 0x2FFE | Bootloader CRC | word |
|
| 0x2FFE | Bootloader CRC | word |
|
||||||
| 0x3000 | App image A start | code up to 0xE7F8 (~58K) bytes |
|
| 0x3000 | App image A start | code up to 0x1DFFC (~120K) bytes |
|
||||||
| 0x117F8 | App image A CRC check length | word |
|
| 0x117F8 | App image A CRC check length | word |
|
||||||
| 0x117FC | App image A CRC check value | word |
|
| 0x117FC | App image A CRC check value | word |
|
||||||
| 0x11800 | App image B start | code up to 0xE7F8 (~58K) bytes |
|
| 0x11800 | App image B start | code up to 0x1DFFC (~120K) bytes |
|
||||||
| 0x1FFF8 | App image B CRC check length | word |
|
| 0x1FFF8 | App image B CRC check length | word |
|
||||||
| 0x1FFFC | App image B CRC check value | word |
|
| 0x1FFFC | App image B CRC check value | word |
|
||||||
| 0x20000 | End of NVM | end |
|
| 0x20000 | End of NVM | end |
|
||||||
|
@ -33,9 +33,10 @@ default-features = false
|
|||||||
features = ["critical-section"]
|
features = ["critical-section"]
|
||||||
|
|
||||||
[dependencies.ringbuf]
|
[dependencies.ringbuf]
|
||||||
version = "0.4.7"
|
version = "0.4"
|
||||||
|
git = "https://github.com/us-irs/ringbuf.git"
|
||||||
|
branch = "use-portable-atomic-crate"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["portable-atomic"]
|
|
||||||
|
|
||||||
[dependencies.va108xx-hal]
|
[dependencies.va108xx-hal]
|
||||||
path = "../../va108xx-hal"
|
path = "../../va108xx-hal"
|
||||||
|
@ -125,7 +125,6 @@ fn main() -> ! {
|
|||||||
Some(spi_clk_cfg),
|
Some(spi_clk_cfg),
|
||||||
Some(SPI_MODE),
|
Some(SPI_MODE),
|
||||||
BLOCKMODE,
|
BLOCKMODE,
|
||||||
true,
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
spi.cfg_transfer(&transfer_cfg);
|
spi.cfg_transfer(&transfer_cfg);
|
||||||
@ -139,7 +138,6 @@ fn main() -> ! {
|
|||||||
Some(SPI_MODE),
|
Some(SPI_MODE),
|
||||||
Some(hw_cs_pin),
|
Some(hw_cs_pin),
|
||||||
BLOCKMODE,
|
BLOCKMODE,
|
||||||
true,
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
spi.cfg_transfer(&transfer_cfg);
|
spi.cfg_transfer(&transfer_cfg);
|
||||||
|
@ -19,12 +19,15 @@ version = "0.2"
|
|||||||
default-features = false
|
default-features = false
|
||||||
|
|
||||||
[dependencies.rtt-log]
|
[dependencies.rtt-log]
|
||||||
version = "0.4"
|
version = "0.3"
|
||||||
|
git = "https://github.com/us-irs/rtt-log-rs.git"
|
||||||
|
branch = "allow-usage-on-non-cas-systems"
|
||||||
|
|
||||||
[dependencies.ringbuf]
|
[dependencies.ringbuf]
|
||||||
version = "0.4.7"
|
version = "0.4"
|
||||||
|
git = "https://github.com/us-irs/ringbuf.git"
|
||||||
|
branch = "use-portable-atomic-crate"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["portable-atomic"]
|
|
||||||
|
|
||||||
[dependencies.once_cell]
|
[dependencies.once_cell]
|
||||||
version = "1"
|
version = "1"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
VA108xx Flashloader Application
|
VA416xx Flashloader Application
|
||||||
========
|
========
|
||||||
|
|
||||||
This flashloader shows a minimal example for a self-updatable Rust software which exposes
|
This flashloader shows a minimal example for a self-updatable Rust software which exposes
|
||||||
@ -7,7 +7,7 @@ called the `image-loader.py` which can be used to upload compiled images to the
|
|||||||
application to write them to the NVM.
|
application to write them to the NVM.
|
||||||
|
|
||||||
Please note that the both the application and the image loader are tailored towards usage
|
Please note that the both the application and the image loader are tailored towards usage
|
||||||
with the [bootloader provided by this repository](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/bootloader).
|
with the [bootloader provided by this repository](https://egit.irs.uni-stuttgart.de/rust/va416xx-rs/src/branch/main/bootloader).
|
||||||
|
|
||||||
The software can quickly be adapted to interface with a real primary on-board software instead of
|
The software can quickly be adapted to interface with a real primary on-board software instead of
|
||||||
the Python script provided here to upload images because it uses a low-level CCSDS based packet
|
the Python script provided here to upload images because it uses a low-level CCSDS based packet
|
||||||
@ -31,7 +31,7 @@ pip install -r requirements.txt
|
|||||||
to install all required dependencies.
|
to install all required dependencies.
|
||||||
|
|
||||||
After that, it is recommended to use `./image-load.py -h` to get an overview of some options.
|
After that, it is recommended to use `./image-load.py -h` to get an overview of some options.
|
||||||
The flash loader uses the UART0 with the Pins PA8 (RX) and PA9 (TX) interface of the VA108xx to perform CCSDS based
|
The flash loader uses the UART0 interface of the VA416xx board to perform CCSDS based
|
||||||
communication. The Python image loader application will search for a file named `loader.toml` and
|
communication. The Python image loader application will search for a file named `loader.toml` and
|
||||||
use the `serial_port` key to determine the serial port to use for serial communication.
|
use the `serial_port` key to determine the serial port to use for serial communication.
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ You can use
|
|||||||
cd flashloader/slot-a-blinky
|
cd flashloader/slot-a-blinky
|
||||||
cargo build --release
|
cargo build --release
|
||||||
cd ../..
|
cd ../..
|
||||||
./image-loader.py -t a ./slot-a-blinky/target/thumbv6m-none-eabi/release/slot-a-blinky
|
./image-loader.py -t a ./slot-a-blinky/target/thumbv7em-none-eabihf/release/slot-a-blinky
|
||||||
```
|
```
|
||||||
|
|
||||||
to build the slot A sample application and upload it to a running flash loader application
|
to build the slot A sample application and upload it to a running flash loader application
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
FLASH : ORIGIN = 0x00003000, LENGTH = 0xE7F8 /* (128k - 12k) / 2 - 8 */
|
FLASH : ORIGIN = 0x00003000, LENGTH = 0x20000 /* 128K */
|
||||||
RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */
|
RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
FLASH : ORIGIN = 0x00011800, LENGTH = 0xE7F8 /* (128k - 12k) / 2 - 8 */
|
FLASH : ORIGIN = 0x00011800, LENGTH = 0x20000 /* 128K */
|
||||||
RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */
|
RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,8 +8,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
|
|
||||||
## [unreleased]
|
## [unreleased]
|
||||||
|
|
||||||
## [v0.8.0] 2024-09-30
|
|
||||||
|
|
||||||
## Changed
|
## Changed
|
||||||
|
|
||||||
- Improves `CascardSource` handling and general API when chosing cascade sources.
|
- Improves `CascardSource` handling and general API when chosing cascade sources.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "va108xx-hal"
|
name = "va108xx-hal"
|
||||||
version = "0.8.0"
|
version = "0.7.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 VA108xx family of microcontrollers"
|
description = "HAL for the Vorago VA108xx family of microcontrollers"
|
||||||
|
@ -301,9 +301,6 @@ pub struct TransferConfig {
|
|||||||
/// the BMSTOP bit is set on a dataword. A frame is defined as CSn being active for the
|
/// the BMSTOP bit is set on a dataword. A frame is defined as CSn being active for the
|
||||||
/// duration of multiple data words
|
/// duration of multiple data words
|
||||||
pub blockmode: bool,
|
pub blockmode: bool,
|
||||||
/// Only used when blockmode is used. The SCK will be stalled until an explicit stop bit
|
|
||||||
/// is set on a written word.
|
|
||||||
pub bmstall: bool,
|
|
||||||
pub hw_cs: HwChipSelectId,
|
pub hw_cs: HwChipSelectId,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -312,7 +309,6 @@ impl TransferConfigWithHwcs<NoneT> {
|
|||||||
clk_cfg: Option<SpiClkConfig>,
|
clk_cfg: Option<SpiClkConfig>,
|
||||||
mode: Option<Mode>,
|
mode: Option<Mode>,
|
||||||
blockmode: bool,
|
blockmode: bool,
|
||||||
bmstall: bool,
|
|
||||||
sod: bool,
|
sod: bool,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
TransferConfigWithHwcs {
|
TransferConfigWithHwcs {
|
||||||
@ -322,7 +318,6 @@ impl TransferConfigWithHwcs<NoneT> {
|
|||||||
mode,
|
mode,
|
||||||
sod,
|
sod,
|
||||||
blockmode,
|
blockmode,
|
||||||
bmstall,
|
|
||||||
hw_cs: HwChipSelectId::Invalid,
|
hw_cs: HwChipSelectId::Invalid,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -335,7 +330,6 @@ impl<HwCs: HwCsProvider> TransferConfigWithHwcs<HwCs> {
|
|||||||
mode: Option<Mode>,
|
mode: Option<Mode>,
|
||||||
hw_cs: Option<HwCs>,
|
hw_cs: Option<HwCs>,
|
||||||
blockmode: bool,
|
blockmode: bool,
|
||||||
bmstall: bool,
|
|
||||||
sod: bool,
|
sod: bool,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
TransferConfigWithHwcs {
|
TransferConfigWithHwcs {
|
||||||
@ -345,7 +339,6 @@ impl<HwCs: HwCsProvider> TransferConfigWithHwcs<HwCs> {
|
|||||||
mode,
|
mode,
|
||||||
sod,
|
sod,
|
||||||
blockmode,
|
blockmode,
|
||||||
bmstall,
|
|
||||||
hw_cs: HwCs::CS_ID,
|
hw_cs: HwCs::CS_ID,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -428,11 +421,6 @@ impl SpiConfig {
|
|||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn bmstall(mut self, enable: bool) -> Self {
|
|
||||||
self.bmstall = enable;
|
|
||||||
self
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn mode(mut self, mode: Mode) -> Self {
|
pub fn mode(mut self, mode: Mode) -> Self {
|
||||||
self.init_mode = mode;
|
self.init_mode = mode;
|
||||||
self
|
self
|
||||||
@ -756,8 +744,12 @@ where
|
|||||||
} else {
|
} else {
|
||||||
w.sod().clear_bit();
|
w.sod().clear_bit();
|
||||||
}
|
}
|
||||||
w.blockmode().bit(transfer_cfg.cfg.blockmode);
|
if transfer_cfg.cfg.blockmode {
|
||||||
w.bmstall().bit(transfer_cfg.cfg.bmstall)
|
w.blockmode().set_bit();
|
||||||
|
} else {
|
||||||
|
w.blockmode().clear_bit();
|
||||||
|
}
|
||||||
|
w
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,8 +3,7 @@
|
|||||||
//! ## Examples
|
//! ## Examples
|
||||||
//!
|
//!
|
||||||
//! - [UART simple example](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples/simple/examples/uart.rs)
|
//! - [UART simple example](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples/simple/examples/uart.rs)
|
||||||
//! - [UART with IRQ and RTIC](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/examples/rtic/src/bin/uart-echo-rtic.rs)
|
//! - [UART with IRQ and RTIC](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/va108xx-update-package/examples/rtic/src/bin/uart-rtic.rs)
|
||||||
//! - [Flashloader exposing a CCSDS interface via UART](https://egit.irs.uni-stuttgart.de/rust/va108xx-rs/src/branch/main/flashloader)
|
|
||||||
use core::{convert::Infallible, ops::Deref};
|
use core::{convert::Infallible, ops::Deref};
|
||||||
use fugit::RateExtU32;
|
use fugit::RateExtU32;
|
||||||
use va108xx::Uarta;
|
use va108xx::Uarta;
|
||||||
@ -864,7 +863,7 @@ impl<Uart: Instance> Tx<Uart> {
|
|||||||
///
|
///
|
||||||
/// This does not necesarily mean that the FIFO can process another word because it might be
|
/// This does not necesarily mean that the FIFO can process another word because it might be
|
||||||
/// full.
|
/// full.
|
||||||
/// Use the [Self::write_fifo] function to write a word to the FIFO reliably using the [nb]
|
/// Use the [Self::read_fifo] function to write a word to the FIFO reliably using the [nb]
|
||||||
/// API.
|
/// API.
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn write_fifo_unchecked(&self, data: u32) {
|
pub fn write_fifo_unchecked(&self, data: u32) {
|
||||||
@ -917,7 +916,7 @@ impl<Uart: Instance> embedded_io::Write for Tx<Uart> {
|
|||||||
|
|
||||||
/// Serial receiver, using interrupts to offload reading to the hardware.
|
/// Serial receiver, using interrupts to offload reading to the hardware.
|
||||||
///
|
///
|
||||||
/// You can use [Rx::into_rx_with_irq] to convert a normal [Rx] structure into this structure.
|
/// You can use [Rx::to_rx_with_irq] to convert a normal [Rx] structure into this structure.
|
||||||
/// This structure provides two distinct ways to read the UART RX using interrupts. It should
|
/// This structure provides two distinct ways to read the UART RX using interrupts. It should
|
||||||
/// be noted that the interrupt service routine (ISR) still has to be provided by the user. However,
|
/// be noted that the interrupt service routine (ISR) still has to be provided by the user. However,
|
||||||
/// this structure provides API calls which can be used inside the ISRs to simplify the reading
|
/// this structure provides API calls which can be used inside the ISRs to simplify the reading
|
||||||
|
@ -21,7 +21,7 @@ bitfield = "0.17"
|
|||||||
version = "0.3"
|
version = "0.3"
|
||||||
|
|
||||||
[dependencies.va108xx-hal]
|
[dependencies.va108xx-hal]
|
||||||
version = ">=0.7, <=0.8"
|
version = ">=0.7, <0.8"
|
||||||
path = "../va108xx-hal"
|
path = "../va108xx-hal"
|
||||||
features = ["rt"]
|
features = ["rt"]
|
||||||
|
|
||||||
|
@ -327,7 +327,7 @@
|
|||||||
"device": "Cortex-M0",
|
"device": "Cortex-M0",
|
||||||
"svdFile": "./va108xx/svd/va108xx.svd.patched",
|
"svdFile": "./va108xx/svd/va108xx.svd.patched",
|
||||||
"preLaunchTask": "blinky-hal",
|
"preLaunchTask": "blinky-hal",
|
||||||
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/examples/blinky",
|
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/examples/adxl343-accelerometer",
|
||||||
"interface": "jtag",
|
"interface": "jtag",
|
||||||
"runToEntryPoint": "main",
|
"runToEntryPoint": "main",
|
||||||
},
|
},
|
||||||
@ -460,7 +460,7 @@
|
|||||||
"device": "Cortex-M0",
|
"device": "Cortex-M0",
|
||||||
"svdFile": "./va108xx/svd/va108xx.svd.patched",
|
"svdFile": "./va108xx/svd/va108xx.svd.patched",
|
||||||
"preLaunchTask": "bootloader",
|
"preLaunchTask": "bootloader",
|
||||||
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/release/bootloader",
|
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/bootloader",
|
||||||
"interface": "jtag",
|
"interface": "jtag",
|
||||||
"runToEntryPoint": "main",
|
"runToEntryPoint": "main",
|
||||||
"rttConfig": {
|
"rttConfig": {
|
||||||
@ -484,7 +484,7 @@
|
|||||||
"device": "Cortex-M0",
|
"device": "Cortex-M0",
|
||||||
"svdFile": "./va108xx/svd/va108xx.svd.patched",
|
"svdFile": "./va108xx/svd/va108xx.svd.patched",
|
||||||
"preLaunchTask": "flashloader",
|
"preLaunchTask": "flashloader",
|
||||||
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/release/flashloader",
|
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/flashloader",
|
||||||
"interface": "jtag",
|
"interface": "jtag",
|
||||||
"runToEntryPoint": "main",
|
"runToEntryPoint": "main",
|
||||||
"rttConfig": {
|
"rttConfig": {
|
||||||
@ -500,4 +500,4 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
"label": "rust: cargo build",
|
"label": "rust: cargo build",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build"],
|
||||||
"build"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -19,13 +17,7 @@
|
|||||||
"label": "rust: cargo build hal tests",
|
"label": "rust: cargo build hal tests",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--bin", "board-tests", "--features", "rt"],
|
||||||
"build",
|
|
||||||
"--bin",
|
|
||||||
"board-tests",
|
|
||||||
"--features",
|
|
||||||
"rt"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -35,11 +27,7 @@
|
|||||||
"label": "rust: cargo build rtt",
|
"label": "rust: cargo build rtt",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "rtt-log"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"rtt-log"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -49,13 +37,7 @@
|
|||||||
"label": "rust: cargo build systick",
|
"label": "rust: cargo build systick",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "timer-ticks", "--features", "rt"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"timer-ticks",
|
|
||||||
"--features",
|
|
||||||
"rt"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -65,11 +47,7 @@
|
|||||||
"label": "rust: cargo build uart",
|
"label": "rust: cargo build uart",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "uart"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"uart"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -79,11 +57,7 @@
|
|||||||
"label": "rust: cargo build spi",
|
"label": "rust: cargo build spi",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "spi"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"spi"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -93,13 +67,7 @@
|
|||||||
"label": "rust: cargo build pwm",
|
"label": "rust: cargo build pwm",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "pwm", "--features", "rt"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"pwm",
|
|
||||||
"--features",
|
|
||||||
"rt"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -109,13 +77,7 @@
|
|||||||
"label": "rust: cargo build cascade",
|
"label": "rust: cargo build cascade",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "cascade", "--features", "rt"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"cascade",
|
|
||||||
"--features",
|
|
||||||
"rt"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -125,11 +87,7 @@
|
|||||||
"label": "uart-echo-rtic-example",
|
"label": "uart-echo-rtic-example",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--bin", "uart-echo-rtic"],
|
||||||
"build",
|
|
||||||
"--bin",
|
|
||||||
"uart-echo-rtic"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -139,11 +97,7 @@
|
|||||||
"label": "blinky-hal",
|
"label": "blinky-hal",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "blinky"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"blinky"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build"
|
"kind": "build"
|
||||||
}
|
}
|
||||||
@ -152,11 +106,7 @@
|
|||||||
"label": "rust: cargo build led blinky",
|
"label": "rust: cargo build led blinky",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "blinky-leds"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"blinky-leds"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -166,11 +116,7 @@
|
|||||||
"label": "rust: cargo build button blinky",
|
"label": "rust: cargo build button blinky",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "blinky-button-irq"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"blinky-button-irq"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -180,11 +126,7 @@
|
|||||||
"label": "rust: cargo build temp sensor",
|
"label": "rust: cargo build temp sensor",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "adt75-temp-sensor"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"adt75-temp-sensor"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -194,11 +136,7 @@
|
|||||||
"label": "rust: cargo build button blinky rtic",
|
"label": "rust: cargo build button blinky rtic",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "blinky-button-rtic"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"blinky-button-rtic"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -208,11 +146,7 @@
|
|||||||
"label": "rust: cargo build accelerometer",
|
"label": "rust: cargo build accelerometer",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "adxl343-accelerometer"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"adxl343-accelerometer"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -222,11 +156,7 @@
|
|||||||
"label": "rust: cargo build adc",
|
"label": "rust: cargo build adc",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "max11619-adc"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"max11619-adc"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -236,11 +166,7 @@
|
|||||||
"label": "reb1-nvm",
|
"label": "reb1-nvm",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--example", "nvm"],
|
||||||
"build",
|
|
||||||
"--example",
|
|
||||||
"nvm"
|
|
||||||
],
|
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
"isDefault": true
|
"isDefault": true
|
||||||
@ -250,43 +176,25 @@
|
|||||||
"label": "rtic-example",
|
"label": "rtic-example",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--bin", "rtic-example"]
|
||||||
"build",
|
|
||||||
"--bin",
|
|
||||||
"rtic-example"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "embassy-example",
|
"label": "embassy-example",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--bin", "embassy-example"]
|
||||||
"build",
|
|
||||||
"--bin",
|
|
||||||
"embassy-example"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "bootloader",
|
"label": "bootloader",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--bin", "bootloader"]
|
||||||
"build",
|
|
||||||
"--bin",
|
|
||||||
"bootloader",
|
|
||||||
"--release",
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "flashloader",
|
"label": "flashloader",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
|
||||||
"args": [
|
"args": ["build", "--bin", "flashloader"]
|
||||||
"build",
|
|
||||||
"--bin",
|
|
||||||
"flashloader",
|
|
||||||
"--release"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user