esp-rom-sys 0.1.5

ROM code support
Documentation

esp-rom-sys

Crates.io docs.rs MSRV Crates.io Matrix

ROM code support. This is an implementation detail of the esp-hal ecosystem crates.

This includes the definition of ROM code function addresses.

For some targets (ESP32 currently) we will use libesp_rom.a from ESP-IDF. The code here corresponds to ESP-IDF v5.3.1

Since there can be only one version of this crate used in a dependency tree this is expected to never see a major version bump. (i.e. all releases are patch releases)

That said, we cannot remove anything here. Degrading a symbol from hard linkage to weak linkage is allowed.

Dependency policy in the esp-hal workspace

The workspace intentionally uses two dependency strategies for esp-rom-sys:

  • Most crates use a non-exact requirement on the 0.1.x line (for example ~0.1 / ~0.1.x), so they can consume compatible patch updates.
  • Crates that are tightly coupled to a specific radio/blob behavior pin an exact esp-rom-sys patch version (currently esp-radio).

Only one exact esp-rom-sys pin should exist in the dependency graph at a time. This keeps Cargo resolution deterministic for radio stacks while preserving patch-level flexibility for other crates.

Documentation

Minimum Supported Rust Version (MSRV)

This crate is guaranteed to compile when using the latest stable Rust version at the time of the crate's release. It might compile with older versions, but that may change in any new release, including patches.

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.