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