Remove esp-idf no std template example.
This commit is contained in:
parent
10fd633a2f
commit
acf99da972
@ -1,15 +0,0 @@
|
|||||||
[build]
|
|
||||||
target = "xtensa-esp32-espidf"
|
|
||||||
|
|
||||||
[target.xtensa-esp32-espidf]
|
|
||||||
linker = "ldproxy"
|
|
||||||
runner = "espflash flash --monitor"
|
|
||||||
rustflags = [ "--cfg", "espidf_time64"]
|
|
||||||
|
|
||||||
[unstable]
|
|
||||||
build-std = ["std", "panic_abort"]
|
|
||||||
|
|
||||||
[env]
|
|
||||||
MCU="esp32"
|
|
||||||
# Note: this variable is not used by the pio builder (`cargo build --features pio`)
|
|
||||||
ESP_IDF_VERSION = "v5.3.3"
|
|
@ -1,42 +0,0 @@
|
|||||||
name: Continuous Integration
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths-ignore:
|
|
||||||
- "**/README.md"
|
|
||||||
pull_request:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
rust-checks:
|
|
||||||
name: Rust Checks
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
action:
|
|
||||||
- command: build
|
|
||||||
args: --release
|
|
||||||
- command: fmt
|
|
||||||
args: --all -- --check --color always
|
|
||||||
- command: clippy
|
|
||||||
args: --all-targets --all-features --workspace -- -D warnings
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Setup Rust
|
|
||||||
uses: esp-rs/xtensa-toolchain@v1.6
|
|
||||||
with:
|
|
||||||
default: true
|
|
||||||
buildtargets: esp32
|
|
||||||
ldproxy: true
|
|
||||||
- name: Enable caching
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
- name: Run command
|
|
||||||
run: cargo ${{ matrix.action.command }} ${{ matrix.action.args }}
|
|
4
esp/rust/02_esp-idf-no-std/.gitignore
vendored
4
esp/rust/02_esp-idf-no-std/.gitignore
vendored
@ -1,4 +0,0 @@
|
|||||||
/.vscode
|
|
||||||
/.embuild
|
|
||||||
/target
|
|
||||||
/Cargo.lock
|
|
@ -1,47 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "esp-idf-rust-no-std"
|
|
||||||
version = "0.1.0"
|
|
||||||
authors = ["Shaun Reed <shaunrd0@gmail.com>"]
|
|
||||||
edition = "2021"
|
|
||||||
resolver = "2"
|
|
||||||
rust-version = "1.77"
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "esp-idf-rust-no-std"
|
|
||||||
harness = false # do not use the built in cargo test harness -> resolve rust-analyzer errors
|
|
||||||
|
|
||||||
[profile.release]
|
|
||||||
opt-level = "s"
|
|
||||||
|
|
||||||
[profile.dev]
|
|
||||||
debug = true # Symbols are nice and they don't increase the size on Flash
|
|
||||||
opt-level = "z"
|
|
||||||
|
|
||||||
[features]
|
|
||||||
default = []
|
|
||||||
|
|
||||||
experimental = ["esp-idf-svc/experimental"]
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
log = "0.4"
|
|
||||||
esp-idf-svc = "0.51"
|
|
||||||
|
|
||||||
# --- Optional Embassy Integration ---
|
|
||||||
# esp-idf-svc = { version = "0.51", features = ["critical-section", "embassy-time-driver", "embassy-sync"] }
|
|
||||||
|
|
||||||
# If you enable embassy-time-driver, you MUST also add one of:
|
|
||||||
|
|
||||||
# a) Standalone Embassy libs ( embassy-time, embassy-sync etc) with a foreign async runtime:
|
|
||||||
# embassy-time = { version = "0.4.0", features = ["generic-queue-8"] } # NOTE: any generic-queue variant will work
|
|
||||||
|
|
||||||
# b) With embassy-executor:
|
|
||||||
# embassy-executor = { version = "0.7", features = ["executor-thread", "arch-std"] }
|
|
||||||
|
|
||||||
# NOTE: if you use embassy-time with embassy-executor you don't need the generic-queue-8 feature
|
|
||||||
|
|
||||||
# --- Temporary workaround for embassy-executor < 0.8 ---
|
|
||||||
# esp-idf-svc = { version = "0.51", features = ["embassy-time-driver", "embassy-sync"] }
|
|
||||||
# critical-section = { version = "1.1", features = ["std"], default-features = false }
|
|
||||||
|
|
||||||
[build-dependencies]
|
|
||||||
embuild = "0.33"
|
|
@ -1,27 +0,0 @@
|
|||||||
# 02_esp-idf-no-std
|
|
||||||
|
|
||||||
This is an example of using ESP-IDF using no std using templates provided by https://github.com/esp-rs/esp-idf-template.
|
|
||||||
When flashed to a device, the application just adjusts the intensity of the on-board LED for visual verification that flashing works correctly.
|
|
||||||
|
|
||||||
Steps used to generate this project
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cargo install cargo-generate
|
|
||||||
cargo generate --git https://github.com/esp-rs/esp-idf-template.git --name esp-idf-rust-no-std -d mcu=esp32 -d std=false
|
|
||||||
```
|
|
||||||
|
|
||||||
Steps to build and flash this project
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Install espflash if you don't have it already
|
|
||||||
cargo install espflash
|
|
||||||
|
|
||||||
# Export esp-idf build environment
|
|
||||||
. ~/export-esp.sh
|
|
||||||
|
|
||||||
# Build and flash to the device
|
|
||||||
cargo build
|
|
||||||
cargo run
|
|
||||||
```
|
|
||||||
|
|
||||||
For more detailed information on setting up a development environment, see [the esp/rust README](/esp/rust/README.md)
|
|
@ -1,3 +0,0 @@
|
|||||||
fn main() {
|
|
||||||
embuild::espidf::sysenv::output();
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
[toolchain]
|
|
||||||
channel = "esp"
|
|
@ -1,10 +0,0 @@
|
|||||||
# Rust often needs a bit of an extra main task stack size compared to C (the default is 3K)
|
|
||||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8000
|
|
||||||
|
|
||||||
# Use this to set FreeRTOS kernel tick frequency to 1000 Hz (100 Hz by default).
|
|
||||||
# This allows to use 1 ms granularity for thread sleeps (10 ms by default).
|
|
||||||
#CONFIG_FREERTOS_HZ=1000
|
|
||||||
|
|
||||||
# Workaround for https://github.com/espressif/esp-idf/issues/7631
|
|
||||||
#CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=n
|
|
||||||
#CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=n
|
|
@ -1,22 +0,0 @@
|
|||||||
use esp_idf_svc::hal::{};
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
// It is necessary to call this function once. Otherwise some patches to the runtime
|
|
||||||
// implemented by esp-idf-sys might not link properly. See https://github.com/esp-rs/esp-idf-template/issues/71
|
|
||||||
esp_idf_svc::sys::link_patches();
|
|
||||||
|
|
||||||
// Bind the log crate to the ESP Logging facilities
|
|
||||||
esp_idf_svc::log::EspLogger::initialize_default();
|
|
||||||
let peripherals = Peripherals::take()?;
|
|
||||||
|
|
||||||
|
|
||||||
loop {
|
|
||||||
led.toggle();
|
|
||||||
blocking_delay(Duration::from_millis(500));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn blocking_delay(duration: Duration) {
|
|
||||||
let delay_start = Instant::now();
|
|
||||||
while delay_start.elapsed() < duration {}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user