diff --git a/cmake/linker_script/arm/linker.cmake b/cmake/linker_script/arm/linker.cmake index b7d736f00bf04d..15a2ebd1130e35 100644 --- a/cmake/linker_script/arm/linker.cmake +++ b/cmake/linker_script/arm/linker.cmake @@ -135,6 +135,8 @@ if(NOT CONFIG_USERSPACE) zephyr_linker_section_configure(SECTION .noinit INPUT ".kernel_noinit.*") endif() +include(${COMMON_ZEPHYR_LINKER_DIR}/ram-end.cmake) + zephyr_linker_symbol(OBJECT REGION_RAM SYMBOL __kernel_ram_start EXPR "(@__bss_start@)") zephyr_linker_symbol(OBJECT REGION_RAM SYMBOL __kernel_ram_end EXPR "(${RAM_ADDR} + ${RAM_SIZE})") zephyr_linker_symbol(OBJECT REGION_RAM SYMBOL __kernel_ram_size EXPR "(@__kernel_ram_end@ - @__bss_start@)") diff --git a/cmake/linker_script/common/ram-end.cmake b/cmake/linker_script/common/ram-end.cmake new file mode 100644 index 00000000000000..bb210e199f6633 --- /dev/null +++ b/cmake/linker_script/common/ram-end.cmake @@ -0,0 +1,7 @@ +zephyr_linker_section(NAME .last_ram_section VMA RAM LMA RAM_REGION TYPE BSS) +zephyr_linker_section_configure( + SECTION .last_ram_section + INPUT "" + SYMBOLS _end z_mapped_end + KEEP + )