1/* 2 * Copyright (c) 2018 Synopsys, Inc. All rights reserved. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7/** 8 * @brief Linker script for the Synopsys EM Starterkit platform. 9 */ 10 11#include <zephyr/devicetree.h> 12 13/* Instruction Closely Coupled Memory (ICCM) base address and size */ 14#if DT_NODE_HAS_PROP(DT_INST(0, arc_iccm), reg) && \ 15 (DT_REG_SIZE(DT_INST(0, arc_iccm)) > 0) 16#define ICCM_START DT_REG_ADDR(DT_INST(0, arc_iccm)) 17#define ICCM_SIZE DT_REG_SIZE(DT_INST(0, arc_iccm)) 18#endif 19 20/* 21 * DCCM base address and size. DCCM is the data memory. 22 */ 23/* Data Closely Coupled Memory (DCCM) base address and size */ 24#if DT_NODE_HAS_PROP(DT_INST(0, arc_dccm), reg) && \ 25 (DT_REG_SIZE(DT_INST(0, arc_dccm)) > 0) 26#define DCCM_START DT_REG_ADDR(DT_INST(0, arc_dccm)) 27#define DCCM_SIZE DT_REG_SIZE(DT_INST(0, arc_dccm)) 28#endif 29 30/* SRAM - memory available for all cores in cluster. Can be used for both instructions and data */ 31#if DT_NODE_HAS_PROP(DT_CHOSEN(zephyr_sram), reg) && (DT_REG_SIZE(DT_CHOSEN(zephyr_sram)) > 0) 32#define SRAM_START DT_REG_ADDR(DT_CHOSEN(zephyr_sram)) 33#define SRAM_SIZE DT_REG_SIZE(DT_CHOSEN(zephyr_sram)) 34#endif 35 36/* Flash memory base address and size */ 37#if DT_NODE_HAS_PROP(DT_CHOSEN(zephyr_flash), reg) && \ 38 (DT_REG_SIZE(DT_CHOSEN(zephyr_flash)) > 0) 39#define FLASH_START DT_REG_ADDR(DT_CHOSEN(zephyr_flash)) 40#define FLASH_SIZE DT_REG_SIZE(DT_CHOSEN(zephyr_flash)) 41#endif 42 43 44#include <zephyr/arch/arc/v2/xy_mem.ld> 45#include <zephyr/arch/arc/v2/linker.ld> 46