/******************************************************************************* * DISCLAIMER * This software is supplied by Renesas Electronics Corporation and is only * intended for use with Renesas products. No other uses are authorized. This * software is owned by Renesas Electronics Corporation and is protected under * all applicable laws, including copyright laws. * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. * Renesas reserves the right, without notice, to make changes to this software * and to discontinue the availability of this software. By using this software, * you agree to the additional terms and conditions found by accessing the * following link: * http://www.renesas.com/disclaimer * Copyright 2018-2022 Renesas Electronics Corporation All rights reserved. *******************************************************************************/ /******************************************************************************* * DESCRIPTION : Loader linker directive ******************************************************************************/ /****************************************************************************** * @file AArch32_loader,ld * - Version : 0.05 * @brief * . *****************************************************************************/ /****************************************************************************** * History : DD.MM.YYYY Version Description * : 17.02.2022 0.01 First Release * : 21.02.2022 0.02 Changed section name * : 10.05.2022 0.03 Changed section name * Added memory * Change binary size to multiples of 16 * : 31.10.2022 0.04 License notation change. * : 07.11.2022 0.05 Changed the size of CXIPLDATA. * Added Qos settings assignment. * : 15.12.2022 0.10 Support RegionID check *****************************************************************************/ OUTPUT_FORMAT("elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(Startup) MEMORY { SYSRAM (rwxa): ORIGIN = 0xE6300000, LENGTH = 0x00030000 CXIPLDATA (rwa): ORIGIN = 0xE6330000, LENGTH = 0x00003000 CXIPLSTACK (rwa): ORIGIN = 0xE6333000, LENGTH = 0x00002000 SHARED_RAM (rwa): ORIGIN = 0x41C00000, LENGTH = 0x0000C000 SHARED_SDRAM (rwa): ORIGIN = 0x41E00000, LENGTH = 0x00200000 } SECTIONS { .loader_start : { __RO_START__ = .; build/obj/loader/loader_v4h.o(.text*) . = NEXT(1024); *(.vectors) . = ALIGN(4096); } > SYSRAM .loader_ro : { *(.text*) *(.rodata*) . = ALIGN(8); __CONST_START__ = .; . = ALIGN(16); *(.qoswt_tbl) . = ALIGN(8); *(.qosbw_tbl) . = ALIGN(8); *(.constdata.CONFIG_DATA) . = ALIGN(8); *(.rgid_w_tbl) . = ALIGN(8); *(.rgid_r_tbl) . = ALIGN(8); *(.rgid_m_tbl) . = ALIGN(8); *(.rgid_sec_tbl) . = ALIGN(8); *(.rgid_axi_tbl) __RO_END_UNALIGNED__ = .; . = NEXT(4096); __RO_END__ = .; __DATA_COPY_START__ = .; } > SYSRAM .data : { __DATA_START__ = .; *(.data*) . = NEXT(16); __DATA_END__ = .; } > CXIPLDATA AT > SYSRAM __DATA_SIZE__ = SIZEOF(.data); stacks (NOLOAD) : ALIGN(16) { __STACKS_START__ = .; KEEP(*(Cx_loader_stack)) __STACKS_END__ = .; } > CXIPLSTACK .bss.SHARED_TOP : { __SHARED_TOP_START__ = .; *(.bss.SHARED_TOP) *(.bss.SHARED_LCS) *(.bss.SHARED_CMAC) *(.bss.SHARED_HASH) . = NEXT(0x00200000); __SHARED__END__ = .; } > SHARED_SDRAM .SHARED_RAM : { __FWRAM_START__ = .; . += 0; . = NEXT(0x0000C000); __FWRAM_END__ = .; } > SHARED_RAM .bss : ALIGN(16) { __BSS_START__ = .; *(SORT_BY_ALIGNMENT(.bss*)) *(COMMON) __BSS_END__ = .; } > CXIPLDATA __BSS_SIZE__ = SIZEOF(.bss); }