* esp32 & esp32s2 sharing scripts * add wokwi files * Add fixup section for esp32s2, fix ordering of sectino includes * Remove debug asm file * Use shared linker scripts for s3 with fixups * Add external.x sections back * Move ld scripts into esp-hal-common * esp32c3 unified linker scripts - rework original c3 script to use the xtensa named sections (e.g, _SECTIONNAME_start) - Add fixups in esp32c3 specific linker - Remove useless text section start and end (not required when using any form of bootloader) * Add RTC alias'. Move some shared fixups to a file * comment and cleanup * unify c2 linker script * unify c6 linker script * remove debug configs * use new esp-riscv-rt * fmt * align db symbol names * fix s3 db |
||
|---|---|---|
| .. | ||
| .cargo | ||
| examples | ||
| ld | ||
| src | ||
| build.rs | ||
| Cargo.toml | ||
| README.md | ||
esp32c6-hal
no_std HAL for the ESP32-C6 from Espressif. Implements a number of the traits defined by embedded-hal.
This device uses the RISC-V ISA, which is officially supported by the Rust compiler via the riscv32imac-unknown-none-elf target. Refer to the Getting Started section below for more information.
Documentation
Getting Started
Installing the Rust Compiler Target
The compilation target for this device is officially supported via the stable release channel and can be installed via rustup:
$ rustup target add riscv32imac-unknown-none-elf
Supported boot methods
IDF Bootloader
The IDF second stage bootloader is the default bootloader solution.
By default, espflash fetches the required binaries (Bootloader and Partition Table) and flashes them onto the target device together with the Rust-based application firmware image.
Direct Boot
Direct Boot allows an application stored in the External Flash to be executed directly, without being copied into Internal RAM.
Booting the Hello World example using Direct Boot
Build the Hello World example with support for Direct Boot:
cargo build --release --example hello_world --features direct-boot
Then proceed to generating the application binary and flashing it onto the target device:
cargo espflash --release --format direct-boot --features direct-boot --example hello_world --monitor
The ROM Bootloader will identify the firmware image built with Direct Boot support and load it appropriately from the External Flash:
ESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0x1 (POWERON),boot:0x6e (SPI_FAST_FLASH_BOOT)
Hello world!
Hello world!
Hello world!
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.