1#!armclang --target=arm-arm-none-eabi -march=armv8-m.main -E -x c 2/* 3** ################################################################### 4** Processors: LPC55S16JBD100 5** LPC55S16JBD64 6** LPC55S16JEV59 7** LPC55S16JEV98 8** 9** Compiler: Keil ARM C/C++ Compiler 10** Reference manual: LPC55S1x/LPC551x User manual Rev.0.6 15 November 2019 11** Version: rev. 1.1, 2019-12-03 12** Build: b220622 13** 14** Abstract: 15** Linker file for the Keil ARM C/C++ Compiler 16** 17** Copyright 2016 Freescale Semiconductor, Inc. 18** Copyright 2016-2022 NXP 19** All rights reserved. 20** 21** SPDX-License-Identifier: BSD-3-Clause 22** 23** http: www.nxp.com 24** mail: support@nxp.com 25** 26** ################################################################### 27*/ 28 29 30/* USB BDT size */ 31#define usb_bdt_size 0x0 32/* Sizes */ 33#if (defined(__stack_size__)) 34 #define Stack_Size __stack_size__ 35#else 36 #define Stack_Size 0x0400 37#endif 38 39#if (defined(__heap_size__)) 40 #define Heap_Size __heap_size__ 41#else 42 #define Heap_Size 0x0400 43#endif 44 45#define m_interrupts_start 0x00000000 46#define m_interrupts_size 0x00000200 47 48#define m_text_start 0x00000200 49#define m_text_size 0x0003CE00 50 51#define m_data_start 0x20000000 52#define m_data_size 0x00010000 53 54#define m_sramx_start 0x04000000 55#define m_sramx_size 0x00004000 56 57#define m_usb_sram_start 0x20010000 58#define m_usb_sram_size 0x00004000 59 60LR_m_text m_interrupts_start m_interrupts_size+m_text_size { ; load region size_region 61 62 VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address 63 * (.isr_vector,+FIRST) 64 } 65 66 ER_m_text m_text_start FIXED m_text_size { ; load address = execution address 67 * (InRoot$$Sections) 68 .ANY (+RO) 69 } 70 71 RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data 72 .ANY (+RW +ZI) 73 } 74 ARM_LIB_HEAP +0 EMPTY Heap_Size { ; Heap region growing up 75 } 76 ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down 77 } 78 79 RW_m_usb_bdt m_usb_sram_start UNINIT usb_bdt_size { 80 * (*m_usb_bdt) 81 } 82 83 RW_m_usb_ram (m_usb_sram_start + usb_bdt_size) UNINIT (m_usb_sram_size - usb_bdt_size) { 84 * (*m_usb_global) 85 } 86} 87