riotbuild: add ESP32-S3 toolchain#200
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.