mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-31 17:59:03 +00:00
esp32c6: prepare target for espradio WiFi support
The ESP32-C6 target was never built with a radio blob in mind. Three gaps in targets/esp32c6.ld prevented espradio from linking or running: - The Espressif WiFi/PHY libraries resolve ~245 internal symbols against the mask ROM. Only seven ROM symbols were defined. Add the ESP-IDF generated ROM interface tables (1201 symbols), all as PROVIDE() so any real definition in the program wins over the ROM copy. - The .iram output section did not collect the blob IRAM sections (.wifi0iram, .wifirxiram, .wifislpiram, .wifislprxiram, .wifiextrairam, .wifiorslpiram, .coexiram, .iram1). Without them that code lands in flash and crashes when called from an interrupt. - _heap_end ran to the end of SRAM at 0x40880000, over the mask ROM stack and ROM data. phy_param_rom sits at 0x4087fce8, inside that range, so a growing Go heap would corrupt the PHY. Cap the heap at 0x4087C610. Also add the espradio build tag to esp32c6.json, matching esp32c3.json and esp32s3.json. Signed-off-by: Ron Evans <ron@hybridgroup.com>
This commit is contained in:
@@ -6,7 +6,8 @@
|
|||||||
"features": "+32bit,+a,+c,+m,+zaamo,+zalrsc,+zmmul,-relax",
|
"features": "+32bit,+a,+c,+m,+zaamo,+zalrsc,+zmmul,-relax",
|
||||||
"build-tags": [
|
"build-tags": [
|
||||||
"esp32c6",
|
"esp32c6",
|
||||||
"esp"
|
"esp",
|
||||||
|
"espradio"
|
||||||
],
|
],
|
||||||
"serial": "usb",
|
"serial": "usb",
|
||||||
"rtlib": "compiler-rt",
|
"rtlib": "compiler-rt",
|
||||||
|
|||||||
+1261
-2
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user