Björn Quentin cc2083fd1a
Introduce esp-rom-sys crate (#3688)
* Move ROM function definitions to esp-hal-rom crate

* Patch ESP32 ROM-functions, use it in esp-storage

* Allow placing additional code in IRAM

* esp-storage depends on esp-hal-rom

* Move ROM function wrappers from esp-hal to esp-hal-rom

* Make bootloader-support crate use CRC ROM function

* Minor polishing

* changelogs

* Make CI green

* Define (some) spiflash ROM functions in esp-hal-rom

* Lint

* Avoid duplicate definition of `__assert_func`

* Rename to `esp-rom-sys`

* Mention versioning this crate in the README

* Fixes

* Check self-version

* Docs

* Clippy

* Check if version bump is allowed

* Unconditionally place spiflash ROM function patches (if present) in rwtext

* Cleanup

* Change how unacceptable version bump requests are detected

* Initial version 0.1.0

* Docs

* Use correct version

* Force esp-rom-sys bumps to patch

* Fix
2025-07-01 13:05:01 +00:00
..
2025-07-01 13:05:01 +00:00
2025-07-01 13:05:01 +00:00

The libs directory may contain libesp_rom.a (or any other static library) meant to patch ROM functions.

Additionally you can have a add_rwtext file which adds to the .rwtext section.

Remember the linker scripts usually define the ROM functions weakly which means we can patch them.

Patches for all chips should originate from one ESP-IDF version only and that should be documented in the crate's README.md.