Implement support for ESP32 C6 and P4 SOCs (#421)

- Implement generic ESP32 devices
- Updated GitHub Actions to first build the SDKs. These are now based on the generic device implementations and the build act as a filter before compiling the dozens of other devices. It should save on resources when boards fail to compile.
- Adapted code to C6 and P4 differences, heavily borrowed from from https://github.com/ByteWelder/Tactility/pull/394 written by @marciogranzotto, with some changes of my own
- Updated `device.py` to make the `[display]` section optional
This commit is contained in:
Ken Van Hoeylandt
2025-11-24 19:28:07 +01:00
committed by GitHub
parent fec8033fd7
commit b565d56029
33 changed files with 279 additions and 72 deletions
@@ -1,3 +1,5 @@
#ifndef CONFIG_IDF_TARGET_ESP32P4
#include <private/elf_symbol.h>
#include <cstddef>
@@ -282,3 +284,5 @@ const esp_elfsym gcc_soft_float_symbols[] = {
ESP_ELFSYM_END
};
#endif
+5 -1
View File
@@ -28,10 +28,12 @@
#include "symbols/esp_event.h"
#include "symbols/esp_http_client.h"
#include "symbols/gcc_soft_float.h"
#include "symbols/pthread.h"
#include "symbols/stl.h"
#include "symbols/cplusplus.h"
#ifndef CONFIG_IDF_TARGET_ESP32P4
#include "symbols/gcc_soft_float.h"
#endif
#include <cstring>
#include <ctype.h>
@@ -591,7 +593,9 @@ uintptr_t resolve_symbol(const esp_elfsym* source, const char* symbolName) {
uintptr_t tt_symbol_resolver(const char* symbolName) {
static const std::vector all_symbols = {
main_symbols,
#ifndef CONFIG_IDF_TARGET_ESP32P4
gcc_soft_float_symbols,
#endif
stl_symbols,
cplusplus_symbols,
esp_event_symbols,