diff --git a/TactilityC/Private/symbols/freertos.h b/TactilityC/Private/symbols/freertos.h new file mode 100644 index 00000000..93176a23 --- /dev/null +++ b/TactilityC/Private/symbols/freertos.h @@ -0,0 +1,5 @@ +#pragma once + +#include + +extern const esp_elfsym freertos_symbols[]; diff --git a/TactilityC/Source/symbols/freertos.cpp b/TactilityC/Source/symbols/freertos.cpp new file mode 100644 index 00000000..b4a8ee01 --- /dev/null +++ b/TactilityC/Source/symbols/freertos.cpp @@ -0,0 +1,21 @@ +#include +#include + +#include + +#include +#include +#include + +const esp_elfsym freertos_symbols[] = { + ESP_ELFSYM_EXPORT(vTaskDelete), + ESP_ELFSYM_EXPORT(xTaskCreate), + ESP_ELFSYM_EXPORT(xTaskCreatePinnedToCore), + ESP_ELFSYM_EXPORT(xEventGroupCreate), + ESP_ELFSYM_EXPORT(xEventGroupClearBits), + ESP_ELFSYM_EXPORT(xEventGroupSetBits), + ESP_ELFSYM_EXPORT(xEventGroupWaitBits), + ESP_ELFSYM_EXPORT(vEventGroupDelete), + // delimiter + ESP_ELFSYM_END +}; diff --git a/TactilityC/Source/tt_init.cpp b/TactilityC/Source/tt_init.cpp index dc590bd9..28f5956b 100644 --- a/TactilityC/Source/tt_init.cpp +++ b/TactilityC/Source/tt_init.cpp @@ -31,6 +31,7 @@ #include "symbols/pthread.h" #include "symbols/stl.h" #include "symbols/cplusplus.h" +#include "symbols/freertos.h" #ifndef CONFIG_IDF_TARGET_ESP32P4 #include "symbols/gcc_soft_float.h" #endif @@ -48,6 +49,13 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -77,11 +85,14 @@ const esp_elfsym main_symbols[] { ESP_ELFSYM_EXPORT(sleep), ESP_ELFSYM_EXPORT(exit), ESP_ELFSYM_EXPORT(close), + ESP_ELFSYM_EXPORT(rmdir), + ESP_ELFSYM_EXPORT(unlink), // time.h ESP_ELFSYM_EXPORT(clock_gettime), ESP_ELFSYM_EXPORT(strftime), ESP_ELFSYM_EXPORT(time), ESP_ELFSYM_EXPORT(localtime_r), + ESP_ELFSYM_EXPORT(localtime), // esp_sntp.h ESP_ELFSYM_EXPORT(sntp_get_sync_status), // math.h @@ -606,6 +617,31 @@ const esp_elfsym main_symbols[] { ESP_ELFSYM_EXPORT(lv_line_create), ESP_ELFSYM_EXPORT(lv_line_set_points), ESP_ELFSYM_EXPORT(lv_line_set_points_mutable), + // stdio.h + ESP_ELFSYM_EXPORT(rename), + // dirent.h + ESP_ELFSYM_EXPORT(opendir), + ESP_ELFSYM_EXPORT(closedir), + ESP_ELFSYM_EXPORT(readdir), + // fcntl.h + ESP_ELFSYM_EXPORT(fcntl), + // lwip/sockets.h + ESP_ELFSYM_EXPORT(lwip_setsockopt), + ESP_ELFSYM_EXPORT(lwip_socket), + ESP_ELFSYM_EXPORT(lwip_recv), + ESP_ELFSYM_EXPORT(lwip_getpeername), + ESP_ELFSYM_EXPORT(lwip_bind), + ESP_ELFSYM_EXPORT(lwip_listen), + ESP_ELFSYM_EXPORT(lwip_close), + ESP_ELFSYM_EXPORT(lwip_accept), + ESP_ELFSYM_EXPORT(lwip_getsockname), + ESP_ELFSYM_EXPORT(lwip_send), + // sys/stat.h + ESP_ELFSYM_EXPORT(stat), + ESP_ELFSYM_EXPORT(mkdir), + // esp_netif.h + ESP_ELFSYM_EXPORT(esp_netif_get_ip_info), + ESP_ELFSYM_EXPORT(esp_netif_get_handle_from_ifkey), // delimiter ESP_ELFSYM_END }; @@ -632,6 +668,7 @@ uintptr_t tt_symbol_resolver(const char* symbolName) { esp_event_symbols, esp_http_client_symbols, pthread_symbols, + freertos_symbols, }; for (const auto* symbols : all_symbols) {