From 210ed711a346d7ad9e552cb28c8d11f883743970 Mon Sep 17 00:00:00 2001 From: Sylvio Alves Date: Thu, 10 Mar 2022 10:45:26 -0300 Subject: [PATCH] soc: esp32: add snippets into linker script Add linker script snippets includes. Signed-off-by: Sylvio Alves --- soc/riscv/esp32c3/linker.ld | 9 +++++++++ soc/xtensa/esp32/linker.ld | 10 ++++++++++ soc/xtensa/esp32s2/linker.ld | 10 ++++++++++ 3 files changed, 29 insertions(+) diff --git a/soc/riscv/esp32c3/linker.ld b/soc/riscv/esp32c3/linker.ld index 5284374c7c8..9e02498eef3 100644 --- a/soc/riscv/esp32c3/linker.ld +++ b/soc/riscv/esp32c3/linker.ld @@ -183,6 +183,9 @@ SECTIONS KEEP(*(SORT(.shell_root_cmd_*))); __esp_shell_root_cmds_end = .; + . = ALIGN(4); + #include + . = ALIGN(4); *(EXCLUDE_FILE (*libkernel.a:fatal.* *libkernel.a:init.* *libzephyr.a:cbprintf_complete* *libzephyr.a:log_core.* *libzephyr.a:log_backend_uart.* *libzephyr.a:log_output.* *libzephyr.a:loader.* *libdrivers__flash.a:flash_esp32.* *libdrivers__serial.a:uart_esp32.*) .rodata) *(EXCLUDE_FILE (*libkernel.a:fatal.* *libkernel.a:init.* *libzephyr.a:cbprintf_complete* *libzephyr.a:log_core.* *libzephyr.a:log_backend_uart.* *libzephyr.a:log_output.* *libzephyr.a:loader.* *libdrivers__flash.a:flash_esp32.* *libdrivers__serial.a:uart_esp32.*) .rodata.*) @@ -354,6 +357,8 @@ SECTIONS . = ALIGN(4); } GROUP_LINK_IN(RAMABLE_REGION) + #include + .dram0.data : { . = ALIGN(4); @@ -398,7 +403,10 @@ SECTIONS #include #pragma pop_macro("GROUP_ROM_LINK_IN") #pragma pop_macro("ITERABLE_SECTION_ROM") + + #include #include + #include __shell_root_cmds_start = __esp_shell_root_cmds_start; __shell_root_cmds_end = __esp_shell_root_cmds_end; @@ -406,6 +414,7 @@ SECTIONS .dummy.dram.data : { . = ALIGN(4); + #include _data_end = ABSOLUTE(.); } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION) diff --git a/soc/xtensa/esp32/linker.ld b/soc/xtensa/esp32/linker.ld index db6b4d65e1b..30a2bb2025a 100644 --- a/soc/xtensa/esp32/linker.ld +++ b/soc/xtensa/esp32/linker.ld @@ -203,6 +203,9 @@ SECTIONS KEEP(*(SORT(.shell_root_cmd_*))); __esp_shell_root_cmds_end = .; + . = ALIGN(4); + #include + . = ALIGN(4); *(EXCLUDE_FILE (*libarch__xtensa__core.a:* *libkernel.a:fatal.* *libkernel.a:init.* *libzephyr.a:cbprintf_complete* *libzephyr.a:log_core.* *libzephyr.a:log_backend_uart.* *libzephyr.a:log_output.* *libzephyr.a:loader.* *libdrivers__flash.a:flash_esp32.* *libdrivers__serial.a:uart_esp32.*) .rodata) *(EXCLUDE_FILE (*libarch__xtensa__core.a:* *libkernel.a:fatal.* *libkernel.a:init.* *libzephyr.a:cbprintf_complete* *libzephyr.a:log_core.* *libzephyr.a:log_backend_uart.* *libzephyr.a:log_output.* *libzephyr.a:loader.* *libdrivers__flash.a:flash_esp32.* *libdrivers__serial.a:uart_esp32.*) .rodata.*) @@ -240,6 +243,8 @@ SECTIONS _image_dram_size = LOADADDR(".dummy.dram.data") + SIZEOF(".dummy.dram.data") - _image_dram_start; _image_dram_vaddr = ADDR(".dram0.data"); + #include + .dram0.data : { _data_start = ABSOLUTE(.); @@ -288,13 +293,18 @@ SECTIONS #include #pragma pop_macro("GROUP_ROM_LINK_IN") #pragma pop_macro("ITERABLE_SECTION_ROM") + + #include #include + #include __shell_root_cmds_start = __esp_shell_root_cmds_start; __shell_root_cmds_end = __esp_shell_root_cmds_end; .dummy.dram.data : { + . = ALIGN(4); + #include . = ALIGN(4); _data_end = ABSOLUTE(.); } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION) diff --git a/soc/xtensa/esp32s2/linker.ld b/soc/xtensa/esp32s2/linker.ld index 13089a7780d..aa3acfad693 100644 --- a/soc/xtensa/esp32s2/linker.ld +++ b/soc/xtensa/esp32s2/linker.ld @@ -195,6 +195,9 @@ SECTIONS KEEP(*(SORT(.shell_root_cmd_*))); __esp_shell_root_cmds_end = .; + . = ALIGN(4); + #include + . = ALIGN(4); *(EXCLUDE_FILE (*libarch__xtensa__core.a:* *libkernel.a:fatal.* *libkernel.a:init.* *libzephyr.a:cbprintf_complete* *libzephyr.a:log_core.* *libzephyr.a:log_backend_uart.* *libzephyr.a:log_output.* *libzephyr.a:loader.* *libdrivers__flash.a:flash_esp32.* *libdrivers__serial.a:uart_esp32.*) .rodata) *(EXCLUDE_FILE (*libarch__xtensa__core.a:* *libkernel.a:fatal.* *libkernel.a:init.* *libzephyr.a:cbprintf_complete* *libzephyr.a:log_core.* *libzephyr.a:log_backend_uart.* *libzephyr.a:log_output.* *libzephyr.a:loader.* *libdrivers__flash.a:flash_esp32.* *libdrivers__serial.a:uart_esp32.*) .rodata.*) @@ -376,6 +379,8 @@ SECTIONS . = ALIGN(8); } GROUP_LINK_IN(RAMABLE_REGION) +#include + .dram0.data : { _data_start = ABSOLUTE(.); @@ -417,13 +422,18 @@ SECTIONS #include #pragma pop_macro("GROUP_ROM_LINK_IN") #pragma pop_macro("ITERABLE_SECTION_ROM") + + #include #include + #include __shell_root_cmds_start = __esp_shell_root_cmds_start; __shell_root_cmds_end = __esp_shell_root_cmds_end; .dummy.dram.data : { + . = ALIGN(4); + #include . = ALIGN(4); _data_end = ABSOLUTE(.); } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)