esp-hal/esp32h2-hal
Jordan Halase a562863cde
Add MD5 functionality from ESP ROM (#618)
* Add ROM MD5 definitions in linker and devices

* Add initial MD5 support

* Implement traits and add comments to MD5 module

* Add MD5 example to ESP32-C3

* Test MD5 context on the quick brown fox

* Implemenr From<Context> for Digest

* Add MD5 to the rest of the examples

* Add docs for MD5

* Remove #[repr(transparent)] from md5::Digest

* Update CHANGELOG.md
2023-06-26 09:01:34 +02:00
..
.cargo
examples Add MD5 functionality from ESP ROM (#618) 2023-06-26 09:01:34 +02:00
ld Add MD5 functionality from ESP ROM (#618) 2023-06-26 09:01:34 +02:00
src Clean up re-exports and make small improvements to documentation (#607) 2023-06-22 06:46:50 -07:00
build.rs
Cargo.toml Update documentation (#606) 2023-06-21 04:03:15 -07:00
README.md Updated README.md for ESP32-H2 (#585) 2023-06-15 05:15:51 -07:00

esp32h2-hal

Matrix

no_std HAL for the ESP32-H2 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.

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:esp32h2-20221101
Build:Nov  1 2022
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
Hello world!
Hello world!
Hello world!

License

Licensed under either of:

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.