# esp-rom-sys
[](https://crates.io/crates/esp-rom-sys)
[](https://docs.espressif.com/projects/rust/esp-rom-sys/latest/)


[](https://matrix.to/#/#esp-rs:matrix.org)
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](https://github.com/espressif/esp-idf/blob/v5.3.1/components/esp_rom/patches/esp_rom_spiflash.c)
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](https://docs.espressif.com/projects/rust/esp-rom-sys/latest/)
## 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:
- Apache License, Version 2.0 ([LICENSE-APACHE](../LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](../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.