-
Notifications
You must be signed in to change notification settings - Fork 2.1k
cpu/esp32: Migration to ESP-IDF v5.4 #21261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cpu/esp32: Migration to ESP-IDF v5.4 #21261
Conversation
cb7fef6
to
87d66cf
Compare
This PR supersedes PR #18767, doesn't it? |
87d66cf
to
a72bdd3
Compare
Yes. |
cc47218
to
cb22538
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thx, looks good to me. Some comments/questions inline.
cb22538
to
ef490ba
Compare
9a69c42
to
ca07ce6
Compare
933de45
to
6491ce3
Compare
61ba9f0
to
3a81390
Compare
Murdock is complaining 🤔 Strange, before I opened the PR, I compiled all application for one board of each ESP32x variant without any problems. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked out the branch, got the esp-14.2.0_20241119 installed via dist/tools/esptools on laptop, and built gnrc_networking. Worked for me.
For ESP8266, the `heap_caps_*_default` functions are simply mapped to the corresponding `heap_caps_*` functions because SPI RAM is not supported. But for ESP32x, where SPI RAM might be enabled, the implementation of the `heap_caps_*_default` functions of the ESP-IDF must be used, as these try to allocate memory blocks smaller than `CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL` from the internal memory first. This is important for some control data structures that must be located in the internal memory, such as the NVS partition table, in order to avoid access conflicts between SPI RAM and SPI flash memory.
🙈 Murdock failed because the CI boards are the only boards that use the software implementation of the WS281X driver. |
@maribu I still had to migrate the software implementation of the WS281x driver 🙈 I didn't realize it before because only the CI boards enable the software implementation. Is your approval still valid? Murdock is happy now. |
Contribution description
This PR provides the migration to ESP-IDF v5.4.
There are some very small problems to be fixed:OK - means that it has been tested successfully
* - means that the feature is not supported by the ESP32x variant
Problems to be solved (checked when solved)
esp_i2c_hw
The PR includes PR #21144 for now to be compilable with local toolchain installtion.Testing procedure
Tests should still work for supported ESP32x variants.
All features in the table above have been tested for all ESP32x variants.
Issues/PRs references
Depends on PR #21144Depends on PR RIOT-OS/riotdocker#255 to be compilable inriotdocker
and CI