Move segment aliasing to linkall.x (#655)

* Move segment aliasing to linkall.x, this allows other projects to define there own alias whilst still being able to use esp-hal linker scripts

* Move rwtext in front of rwdata

* Re-arrange include

* Fix s3 direct boot script
This commit is contained in:
Scott Mabin 2023-07-18 07:17:52 -07:00 committed by GitHub
parent 31f7b974fd
commit f1fce08a94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 49 additions and 59 deletions

View File

@ -2,8 +2,6 @@
/* before memory.x to allow override */
ENTRY(Reset)
INCLUDE memory.x
/* after memory.x to allow override */
PROVIDE(__pre_init = DefaultPreInit);
PROVIDE(__zero_bss = default_mem_hook);
@ -11,9 +9,6 @@ PROVIDE(__init_data = default_mem_hook);
INCLUDE exception.x
/* map generic regions to output sections */
INCLUDE "alias.x"
/* ESP32 fixups */
INCLUDE "fixups/rtc_fast_rwdata_dummy.x"
/* END ESP32 fixups */

View File

@ -1,3 +1,5 @@
INCLUDE "memory.x"
INCLUDE "alias.x"
INCLUDE "link-esp32.x"
INCLUDE "hal-defaults.x"
INCLUDE "rom-functions.x"
INCLUDE "rom-functions.x"

View File

@ -24,10 +24,4 @@ MEMORY
IROM : ORIGIN = 0x42000000 + 0x20, LENGTH = 0x200000 - 0x20
/* Data ROM */
DROM : ORIGIN = 0x3C000000, LENGTH = 0x200000
}
REGION_ALIAS("ROTEXT", IROM);
REGION_ALIAS("RODATA", DROM);
REGION_ALIAS("RWDATA", DRAM);
REGION_ALIAS("RWTEXT", IRAM);
}

View File

@ -1,4 +1,11 @@
INCLUDE "memory.x"
REGION_ALIAS("ROTEXT", IROM);
REGION_ALIAS("RODATA", DROM);
REGION_ALIAS("RWDATA", DRAM);
REGION_ALIAS("RWTEXT", IRAM);
INCLUDE "bl-riscv-link.x"
INCLUDE "hal-defaults.x"
INCLUDE "rom-functions.x"

View File

@ -31,12 +31,3 @@ MEMORY
/* RTC fast memory (executable). Persists over deep sleep. */
RTC_FAST : ORIGIN = 0x50000000, LENGTH = 0x2000 /*- ESP_BOOTLOADER_RESERVE_RTC*/
}
REGION_ALIAS("ROTEXT", IROM);
REGION_ALIAS("RODATA", DROM);
REGION_ALIAS("RWDATA", DRAM);
REGION_ALIAS("RWTEXT", IRAM);
REGION_ALIAS("RTC_FAST_RWTEXT", RTC_FAST);
REGION_ALIAS("RTC_FAST_RWDATA", RTC_FAST);

View File

@ -1,4 +1,14 @@
INCLUDE "memory.x"
REGION_ALIAS("ROTEXT", IROM);
REGION_ALIAS("RODATA", DROM);
REGION_ALIAS("RWDATA", DRAM);
REGION_ALIAS("RWTEXT", IRAM);
REGION_ALIAS("RTC_FAST_RWTEXT", RTC_FAST);
REGION_ALIAS("RTC_FAST_RWDATA", RTC_FAST);
INCLUDE "bl-riscv-link.x"
INCLUDE "hal-defaults.x"
INCLUDE "rom-functions.x"

View File

@ -26,12 +26,3 @@ MEMORY
/* RTC fast memory (executable). Persists over deep sleep. */
RTC_FAST : ORIGIN = 0x50000000, LENGTH = 16K /*- ESP_BOOTLOADER_RESERVE_RTC*/
}
REGION_ALIAS("ROTEXT", ROM);
REGION_ALIAS("RODATA", ROM);
REGION_ALIAS("RWTEXT", RAM);
REGION_ALIAS("RWDATA", RAM);
REGION_ALIAS("RTC_FAST_RWTEXT", RTC_FAST);
REGION_ALIAS("RTC_FAST_RWDATA", RTC_FAST);

View File

@ -1,4 +1,14 @@
INCLUDE "memory.x"
REGION_ALIAS("ROTEXT", ROM);
REGION_ALIAS("RODATA", ROM);
REGION_ALIAS("RWTEXT", RAM);
REGION_ALIAS("RWDATA", RAM);
REGION_ALIAS("RTC_FAST_RWTEXT", RTC_FAST);
REGION_ALIAS("RTC_FAST_RWDATA", RTC_FAST);
INCLUDE "bl-riscv-link.x"
INCLUDE "hal-defaults.x"
INCLUDE "rom-functions.x"

View File

@ -88,9 +88,9 @@ INSERT BEFORE .rodata;
/* Shared sections - ordering matters */
INCLUDE "text.x"
INCLUDE "rwtext.x"
INCLUDE "rodata.x"
INCLUDE "rwdata.x"
INCLUDE "rwtext.x"
INCLUDE "rtc_fast.x"
/* End of Shared sections */

View File

@ -27,12 +27,3 @@ MEMORY
/* RTC fast memory (executable). Persists over deep sleep. */
RTC_FAST : ORIGIN = 0x50000000, LENGTH = 16K /*- ESP_BOOTLOADER_RESERVE_RTC*/
}
REGION_ALIAS("ROTEXT", ROM);
REGION_ALIAS("RODATA", ROM);
REGION_ALIAS("RWTEXT", RAM);
REGION_ALIAS("RWDATA", RAM);
REGION_ALIAS("RTC_FAST_RWTEXT", RTC_FAST);
REGION_ALIAS("RTC_FAST_RWDATA", RTC_FAST);

View File

@ -1,4 +1,14 @@
INCLUDE "memory.x"
REGION_ALIAS("ROTEXT", ROM);
REGION_ALIAS("RODATA", ROM);
REGION_ALIAS("RWTEXT", RAM);
REGION_ALIAS("RWDATA", RAM);
REGION_ALIAS("RTC_FAST_RWTEXT", RTC_FAST);
REGION_ALIAS("RTC_FAST_RWDATA", RTC_FAST);
INCLUDE "bl-riscv-link.x"
INCLUDE "hal-defaults.x"
INCLUDE "rom-functions.x"

View File

@ -81,9 +81,9 @@ INSERT BEFORE .rodata;
/* Shared sections - ordering matters */
INCLUDE "text.x"
INCLUDE "rwtext.x"
INCLUDE "rodata.x"
INCLUDE "rwdata.x"
INCLUDE "rwtext.x"
INCLUDE "rtc_fast.x"
/* End of Shared sections */

View File

@ -2,8 +2,6 @@
/* before memory.x to allow override */
ENTRY(Reset)
INCLUDE memory.x
/* after memory.x to allow override */
PROVIDE(__pre_init = DefaultPreInit);
PROVIDE(__zero_bss = default_mem_hook);
@ -11,9 +9,6 @@ PROVIDE(__init_data = default_mem_hook);
INCLUDE exception.x
/* map generic regions to output sections */
INCLUDE "alias.x"
/* Fixups for esp32s2 */
SECTIONS {
.rwdata_dummy (NOLOAD) : ALIGN(4)

View File

@ -1,3 +1,5 @@
INCLUDE "memory.x"
INCLUDE "alias.x"
INCLUDE "link-esp32s2.x"
INCLUDE "hal-defaults.x"
INCLUDE "rom-functions.x"
INCLUDE "rom-functions.x"

View File

@ -1,11 +1,6 @@
/* before memory.x to allow override */
ENTRY(Reset)
INCLUDE memory.x
/* map generic regions to output sections */
INCLUDE "alias.x"
_external_ram_start = ABSOLUTE(ORIGIN(psram_seg));
_external_ram_end = ABSOLUTE(ORIGIN(psram_seg)+LENGTH(psram_seg));

View File

@ -1,8 +1,6 @@
/* before memory.x to allow override */
ENTRY(ESP32Reset)
INCLUDE memory.x
/* after memory.x to allow override */
PROVIDE(__pre_init = DefaultPreInit);
PROVIDE(__zero_bss = default_mem_hook);
@ -10,9 +8,6 @@ PROVIDE(__init_data = default_mem_hook);
INCLUDE exception.x
/* map generic regions to output sections */
INCLUDE "alias.x"
/* ESP32S3 fixups */
SECTIONS {
.rwdata_dummy (NOLOAD) :

View File

@ -1,3 +1,5 @@
INCLUDE "memory.x"
INCLUDE "alias.x"
INCLUDE "link-esp32s3.x"
INCLUDE "hal-defaults.x"
INCLUDE "rom-functions.x"
INCLUDE "rom-functions.x"