]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/LPC51U68_flash.icf
Remove build files accidentally checked in.
[freertos] / FreeRTOS / Demo / CORTEX_M0+_LPC51U68_LPCXpresso / IAR_specific / LPC51U68_flash.icf
1 /*\r
2 ** ###################################################################\r
3 **     Processors:          LPC51U68JBD48\r
4 **                          LPC51U68JBD64\r
5 **\r
6 **     Compiler:            IAR ANSI C/C++ Compiler for ARM\r
7 **     Reference manual:    LPC51U68 User manual User manual Rev. 1.0 13 Dec 2017\r
8 **     Version:             rev. 1.0, 2017-12-15\r
9 **     Build:               b180801\r
10 **\r
11 **     Abstract:\r
12 **         Linker file for the IAR ANSI C/C++ Compiler for ARM\r
13 **\r
14 **     Copyright 2016 Freescale Semiconductor, Inc.\r
15 **     Copyright 2016-2018 NXP\r
16 **\r
17 **     SPDX-License-Identifier: BSD-3-Clause\r
18 **\r
19 **     http:                 www.nxp.com\r
20 **     mail:                 support@nxp.com\r
21 **\r
22 ** ###################################################################\r
23 */\r
24 \r
25 \r
26 /* Stack and Heap Sizes */\r
27 if (isdefinedsymbol(__stack_size__)) {\r
28   define symbol __size_cstack__        = __stack_size__;\r
29 } else {\r
30   define symbol __size_cstack__        = 0x0400;\r
31 }\r
32 \r
33 if (isdefinedsymbol(__heap_size__)) {\r
34   define symbol __size_heap__          = __heap_size__;\r
35 } else {\r
36   define symbol __size_heap__          = 0x0400;\r
37 }\r
38 \r
39 define symbol m_interrupts_start               = 0x00000000;\r
40 define symbol m_interrupts_end                 = 0x000000DF;\r
41 \r
42 define symbol m_text_start                     = 0x000000E0;\r
43 define symbol m_text_end                       = 0x0003FFFF;\r
44 \r
45 define symbol m_sramx_start                     = 0x04000000;\r
46 define symbol m_sramx_end                       = 0x04007FFF;\r
47 \r
48 define symbol m_data_start                     = 0x20000000;\r
49 define symbol m_data_end                       = 0x2000FFFF - __size_cstack__ - 0x20;\r
50 \r
51 define symbol m_stack_start                    = 0x20010000 - __size_cstack__ - 0x20;\r
52 define symbol m_stack_end                      = 0x2000FFFF;\r
53 \r
54 define symbol __crp_start__                    = 0x000002FC;\r
55 define symbol __crp_end__                      = 0x000002FF;\r
56 \r
57 define symbol __ram_iap_start__                = 0x2000FFE0;\r
58 define symbol __ram_iap_end__                  = 0x2000FFFF;\r
59 \r
60 define memory mem with size = 4G;\r
61 \r
62 define region TEXT_region             = mem:[from m_interrupts_start to m_interrupts_end]\r
63                                       | mem:[from m_text_start to m_text_end]\r
64                                       - mem:[from  __crp_start__ to __crp_end__];\r
65 define region DATA_region             = mem:[from m_sramx_start to m_sramx_end]\r
66                                       | mem:[from m_data_start to m_data_end];\r
67 define region CSTACK_region           = mem:[from m_stack_start to m_stack_end]\r
68                                       - mem:[from  __ram_iap_start__ to __ram_iap_end__];\r
69 define region CRP_region              = mem:[from  __crp_start__ to __crp_end__];\r
70 \r
71 define block CSTACK    with alignment = 8, size = __size_cstack__   { };\r
72 define block HEAP      with alignment = 8, size = __size_heap__     { };\r
73 define block RW        { readwrite };\r
74 define block ZI        { zi };\r
75 \r
76 initialize by copy { readwrite, section .textrw };\r
77 \r
78 if (isdefinedsymbol(__USE_DLIB_PERTHREAD))\r
79 {\r
80   /* Required in a multi-threaded application */\r
81   initialize by copy with packing = none { section __DLIB_PERTHREAD };\r
82 }\r
83 \r
84 do not initialize  { section .noinit };\r
85 \r
86 place at address mem: m_interrupts_start    { readonly section .intvec };\r
87 place in TEXT_region                        { readonly };\r
88 place in DATA_region                        { block RW };\r
89 place in DATA_region                        { block ZI };\r
90 place in DATA_region                        { last block HEAP };\r
91 place in CSTACK_region                      { block CSTACK };\r
92 place in CRP_region                         { section .crp };\r