espressif: Add CMake build paths for Xtensa ESP32 chips and esp32c3-legacy.#18828
espressif: Add CMake build paths for Xtensa ESP32 chips and esp32c3-legacy.#18828arjav1528 wants to merge 3 commits intoapache:masterfrom
Conversation
Add a shared Espressif Xtensa CMake layer and chip-level CMake entry points for ESP32, ESP32-S2, and ESP32-S3 to mirror existing Make-based bring-up. This enables CMake builds to resolve common Espressif arch and HAL wiring. Signed-off-by: Arjav Patel <arjav1528@gmail.com>
…ards. Introduce common and board-level CMakeLists for esp32-devkitc, esp32s2-saola-1, and esp32s3-devkit so the new Xtensa arch CMake paths are reachable through board builds. Signed-off-by: Arjav Patel <arjav1528@gmail.com>
Add esp32c3-legacy architecture CMake entry points and representative board/common CMake files so legacy ESP32-C3 targets can be built through the same CMake flow used by modern Espressif RISC-V targets. Signed-off-by: Arjav Patel <arjav1528@gmail.com>
|
Hi @arjav1528 , I've marked PR as a draft. Hi @fdcavalcanti @tmedicci @eren-terzioglu, can you run some tests? |
|
A quick test I ran Same issue Configuring incomplete, errors occurred!Hi @arjav1528 , as you’re using macOS, I’d recommend you run some tests with this #18568 tool before adding a new PR. Workflow -> Manually Compiling with Make or Cmake for test @arjav1528 Please also include full build logs ! |
There was a problem hiding this comment.
Thank you @arjav1528 please provide build and runtime test logs as required by Contributing Guide, this change impacts build of many different chips/boards and preferably requires verification on the real world hardware or at least simulator.
@tmedicci @fdcavalcanti could you please help in verification? :-)
|
@arjav1528 Thank you for your work. It would be such a relief to also have a CMake build path for ESP32 platforms. |
Note: Please adhere to Contributing Guidelines.
Summary
Extends the NuttX CMake flow for Espressif targets that were mainly covered by Make before.
arch/xtensa): Shared Espressif Xtensa CMake underarch/xtensa/src/common/espressif/, plus chipCMakeLists.txt/hal_*.cmakefor ESP32, ESP32-S2, and ESP32-S3 (HAL includes viaESP_HAL_3RDPARTY_REPO/CHIP_SERIES).boards/xtensa):CMakeLists.txtfor common, common/src, and esp32-devkitc, esp32s2-saola-1, esp32s3-devkit.hal_esp32c3-legacy.cmakeand board/common CMake).Additive build-system files only; no runtime OS logic changes in this PR.
Impact
esp32c3-legacy-devkitgain explicit wiring; Make builds are unaffected by these files.Testing
Hardware: I do not have Espressif boards available, so I could not flash images, exercise the serial console, or run on-target tests (e.g. NSH, drivers).
Build / CI: This change is CMake-only (new
CMakeLists.txt/.cmakewiring). Please rely on NuttX CI and/or a maintainer/local build with the documented Espressif toolchains andesp-hal-3rdpartycheckout for full configure + link verification, for example: