Implement support for module symbols (#475)

* **New Features**
  - Adds module symbol support and per-module symbol tables, including LVGL symbol exports moved into a dedicated table.
* **API**
  - Adds symbol-resolution APIs and an accessor to enable dynamic lookup between modules.
* **Bug Fixes / Chores**
  - Explicitly initializes module symbol pointers across device and platform modules to avoid uninitialized state.
* **Tests**
  - Updates tests to account for symbol pointer initialization.
This commit is contained in:
Ken Van Hoeylandt
2026-02-02 07:50:43 +01:00
committed by GitHub
parent 9f721e6655
commit 1f9e7f82fd
55 changed files with 563 additions and 357 deletions
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "btt-panda-touch",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "cyd-2432s024c",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "cyd-2432s028r",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "cyd-2432s028rv3",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "cyd-2432s032c",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "cyd-4848s040c",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "cyd-8048s043c",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "cyd-e32r28t",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "cyd-e32r32p",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "elecrow-crowpanel-advance-28",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "elecrow-crowpanel-advance-35",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "elecrow-crowpanel-advance-50",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "elecrow-crowpanel-basic-28",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "elecrow-crowpanel-basic-35",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "elecrow-crowpanel-basic-50",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "generic-esp32",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "generic-esp32c6",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "generic-esp32p4",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "generic-esp32s3",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "guition-jc1060p470ciwy",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "guition-jc2432w328c",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "guition-jc3248w535c",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "guition-jc8048w550c",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "heltec-wifi-lora-32-v3",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "lilygo-tdeck",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "lilygo-tdisplay-s3",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "lilygo-tdisplay",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "lilygo-tdongle-s3",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -24,7 +24,8 @@ static error_t stop() {
struct Module device_module = {
.name = "lilygo-tlora-pager",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "m5stack-cardputer-adv",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "m5stack-cardputer",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "m5stack-core2",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "m5stack-cores3",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "m5stack-stickc-plus",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "m5stack-stickc-plus2",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "m5stack-tab5",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "simulator",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
+2 -1
View File
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "unphone",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "waveshare-esp32-s3-geek",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "waveshare-s3-lcd-13",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "waveshare-s3-touch-lcd-128",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "waveshare-s3-touch-lcd-147",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "waveshare-s3-touch-lcd-43",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}
@@ -16,7 +16,8 @@ static error_t stop() {
struct Module device_module = {
.name = "wireless-tag-wt32-sc01-plus",
.start = start,
.stop = stop
.stop = stop,
.symbols = nullptr
};
}