-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Overview of ESP-IDF 5.1 Support #7852
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
Comments
Table updated today. |
@VojtechBartoska Should maybe Trace for RISC-V support be added to this table as well even if not currently planned for v5.1? |
I wouldn't expect that arduino-esp32 project would provide any specific API for CPU Trace. At least, it doesn't provide such an API on Xtensa. In fact, most of the CPU trace implementation is done in the tools, not in the embedded software:
|
Status update with the list of left tasks:
|
Status update:
To-Do:
|
Status update:in Review
In progress
To-Do
|
ESP-IDF Release v5.1 has been released. |
Calling the SPIFFS.begin() causes the following linker error with ESP32-S3 using IDF v5.1-rc2:
From what I'm understanding, it is having difficulty finding fs::FileImpl class in the object files. Could be a simple include error. Here is the full output:
|
Hello. Tell me in the Arduino Core ESP-IDF v5.1 version, will the Update.h library support updates using encrypted bin ? |
There are no plans currently to support such feature |
Hello @roleroz, the initial development only release of Arduino core version 3.0.0 will be out approx. at the end of August, we are still working on that. Stable version will be available later. Thanks for understanding. |
Clearly this has been a major effort to get this running with 5.1. Your efforts are greatly appreciated. Since the end of August has come and gone, do you have any further update on when to expect a release? |
@peteDDD we will release alpha version probably next week. We are just making sure that 2.0.12 does not include any critical bugs. |
How is that release coming? I am eager to test. (I've wasted two months trying to get something to work).
|
@me-no-dev I am waiting to test the alpha version. |
@alba-ado Did you find a way to fix this issue? Getting the same error. |
@SimonBrix Small sample sketch that fails? Not using SPIFFS anymore, using for all LittleFS and it does work without any issue with Arduino 3.0.0 branch from this repo. |
@SimonBrix
To get to a productive development environment, here is what I did... You have to configure your sdkconfig using menuconfig to have the Freertos HZ = 1000 (instead of 100) and may have to do that manually by editing the sdkconfig file before you can actually run menuconfig successfully. Also you may get a warning message when you build regarding encryption settings... you can follow the instructions in the warning message to make the appropriate changes to the sdkconfig using menuconfig. You will have to decide if you are going to use the arduino format of setup() and loop() or the espidf format of main_app(). You turn the Arduino setup() mode on in the Arduino section of the menuconfig settings. Lastly, pay attention to the need to add extern "C" around all your functions other than setup() and loop() if you use the arduino format. You can to this as follows:
OR Use forward declarations to all your functions this way.
and here is the platformio.ini, for example for the esp32dev board. You can also add other build flags and your lib-deps... I show a few of those for example purposes here. I found the monitor filters used here useful; You can decide to use them or not.
Good luck. |
@peteDDD Your Platformio setup is exactly Arduino as a Component. And your are not using IDF 5.1 here. This thread is a about IDF 5.1 |
@Jason2866 Thank you but I think you miss my point. "Arduino as a component" does not run on OIDF 5.1. It crashes. This is my workaround to be productive so I can actual get my work done and stop waiting for 5.1 to work with "Arduino as a component". This is NOT, "Arduino as a component", which does (or in the case of 5.1 attempts to, but fails) a huge set of Arduino libraries into the component directory. This way, only the libraries you are included ate loaded and they go into the .pio/libdeps directory. It's really MUCH different than the "Arduino as a component" option. |
@peteDDD It is exactly Arduino as a Component. Just done the Platformio way of setting up. |
@Jason2866 I using ESP_IDF with the arduino-esp32 (branch idf-release/v5.1) as a component. I have made a minimal main.cpp file now:
Where I get this error:
It seems to be a problem with the linker not being able to find the vtable destructor of the FileImpl class. This is my repository of the simple sketch: I have cloned the arduino-esp32 into a components folder and added littlefs to the set(requires ...) in this line: |
@SimonBrix No since Platformio falls back to IDF 4.4.5 when config If you want to use an Arduino 3.0 build with Platfromio you can use my build (forked and modified Arduino and Platformio):
I am the maintainer of the Tasmota Arduino framework. Tasmota is already running on the pre release Arduino 3.0 with this Platformio config |
@Jason2866 I am not using Platformio, but pure ESP-IDF with arduino-esp32 as a component. |
If you use official Platformio, you use ALWAYS Arduino core 2.0.x SORRY @SimonBrix i mixed names. Mixed with @peteDDD Yes, ESP-IDF with Arduino as component does work fine. Thats the way the Arduino 3.0 libs are built. The littlefs issue is fixed with release v1.9.1 |
@Jason2866 I also saw this release earlier today and hoped that it would fix my issue, but I am still getting the same linker error unfortunately. |
@SimonBrix Make sure you have this settings in your sdkconfig and the linker error will be gone
For whatever unknown bug this setting is the key @peteDDD My working LittleFS Platformio test setup with IDF5.1 and Arduino 3.0 alpha build |
@me-no-dev How can I use new 3.0 as IDF Component? like mention here for 2.0 https://espressif-docs.readthedocs-hosted.com/projects/arduino-esp32/en/latest/esp-idf_component.html |
same way. You setup an IDF5.1 project and import Arduino into the components folder. |
Just in case this is useful for someone, I was able to use Arduino as a component with PlatformIO, using the latest 3.0.0 release and IDF 5.1.1, this is my platformio.ini
A bit convoluted, but at least it wasn't necessary to modify any source code. https://github.com/blackhack/ESP32_arduino_as_component_PlatformIO |
@Blackhawk Thank you for posting that. We all help each other. |
#8714 I2S done |
RMT, Sigma documentation is done. Only left is I2S docs + examples. I am closing this ticker as completed. |
This issue tracks work progress for support of ESP-IDF 5.1.
General explanation
Current version of Arduino ESP32 Core with numbering 2.X.X are based on ESP-IDF v4.4. ESP-IDF 5.0 is already released and we are working on porting our Arduino Core to be based on ESP-IDF 5, more precisely we are heading to upcoming ESP-IDF v5.1.
ESP-IDF v5.0 includes braking changes, refactoring of some of the peripherals and drivers. For more details, take a look on Migration Guides.
Branches & Releases of Arduino Core
We'll release few bug fix versions 2.0.X. After last release, first initial Pull Request including ESP-IDF 5.1 changes will be merged into Master branch and we'll be work on ESP-IDF 5.1 support in Master branch.
If we decide to do one more bugfix release 2.0.X, fixes will be cherrypicked and merged manually into v4.4 branch. We are not going to add any new features to version 2.X.X.
Progress
This table will be kept up to date.
Last update: 29.06.2023
The text was updated successfully, but these errors were encountered: