/**************************************************************************** * * Copyright 2020 Samsung Electronics All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific * language governing permissions and limitations under the License. * ****************************************************************************/ /* Linker file for the IAR Compiler for ARM */ /* Specials */ /* Meory Regions */ define symbol S5JS100_BOOTMEM_BASE = 0x00000000; define symbol S5JS100_BOOTMEM_END = S5JS100_BOOTMEM_BASE + 8K; define symbol S5JS100_IRAM_BASE = 0x00100000; define symbol S5JS100_IRAM_END = S5JS100_IRAM_BASE + 512K; define symbol S5JS100_CODE_BASE = 0x406F4000; define symbol S5JS100_CODE_END = S5JS100_CODE_BASE + 1492K; define symbol S5JS100_FLASH_BASE = 0x40000000; /* Stack Size & Heap Size*/ if (!isdefinedsymbol(MBED_CONF_TARGET_BOOT_STACK_SIZE)) { define symbol MBED_CONF_TARGET_BOOT_STACK_SIZE = 0x400; } define symbol CSTACK_SIZE = MBED_CONF_TARGET_BOOT_STACK_SIZE; define symbol __ICFEDIT_size_heap__ = 0x50000; /*Meory regions*/ define memory mem with size = 4G; define region VECTOR_REGION = mem:[from S5JS100_BOOTMEM_BASE to S5JS100_BOOTMEM_END]; define region ROM_REGION = mem:[from S5JS100_CODE_BASE to S5JS100_CODE_END]; define region IRAM_REGION = mem:[from S5JS100_IRAM_BASE to S5JS100_IRAM_END]; define block CSTACK with alignment = 8, size = CSTACK_SIZE { }; define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; define block RW { readwrite }; define block ZI { zi }; initialize by copy { readwrite }; do not initialize { section .noinit }; place at address mem:S5JS100_CODE_BASE { readonly section .intvec}; /* place at address mem:S5JS100_BOOTMEM_BASE { readwrite section .isr_vector }; */ place in ROM_REGION { readonly }; place in IRAM_REGION { block RW, block ZI, block HEAP, block CSTACK};