-
Notifications
You must be signed in to change notification settings - Fork 48
riotbuild: add ESP32-S3 toolchain #200
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
Conversation
Does ESP32-S2 work with the existing toolchain? |
Nope, that requires a separate toolchain that I could provide. |
Please do, I actually have one of those boards 😄 I'm still surprised, aren't they all using the same Xtensa core? Why are separate toolchains needed for different members of the family? |
I could provide it immediately. The question is whether it makes sense before we have ESP32-C3 and ESP32-S3 support in the master. Each toolchain blows up the Docker image by about 300 MBytes. |
As it can take very long for the workers to get updates, I say we better have toolchain support earlier than later. |
Hm, but the ESP32-S2 support bases on some changes introduced for ESP32-S3 which in turn bases on some changes that can't be merged independent on the PR for ESP32-C3 support. That is, we have to merge the support for each variant step by step 😟
I don't know. At least ESP32 uses a different Xtensa core than ESP32-S2 and ESP32-S3. While ESP32 is using LX6 cores, new ESP32x variants like ESP32-S2 and ESP32-S3 use LX7 core. |
As I know, the cores differ in the instruction sets they implement. Xtensa cores are highly configurable by the SoC designer. There are a lot of hardware options from which a designer can select what he wants. As a result, supported instructions can differ a lot. I guess, the compiler has to know what instructions are supported so that it has to be built for each Xtensa core. |
Don't worry about that, only more motivation for me to review the C3 and S3 PRs 😉 |
Hm, the build test seems to fail due to an unrelated error in Rust build test. It seems that a
|
Bors try |
tryBuild succeeded: |
Bors merge |
Build succeeded: |
@benpicco Thanks for reviewing and merging. |
Now that the 2022.07 release branch is created, it is a good time to go the next migration step and to add Espressif's vendor toolchain for ESP32-S3 to be able to compile RIOT-OS/RIOT#18185 in CI. The toolchain has a size of 292 MByte.