PokittoLib is the library needed for programming the Pokitto DIY game console (www.pokitto.com)

Committer:
spinal
Date:
Sun Nov 18 15:47:54 2018 +0000
Revision:
64:6e6c6c2b664e
Parent:
5:ea7377f3d1af
added fix for directrectangle()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pokitto 5:ea7377f3d1af 1 /*Based on following file*/
Pokitto 5:ea7377f3d1af 2 /*
Pokitto 5:ea7377f3d1af 3 * GENERATED FILE - DO NOT EDIT
Pokitto 5:ea7377f3d1af 4 * (c) Code Red Technologies Ltd, 2008-13
Pokitto 5:ea7377f3d1af 5 * (c) NXP Semiconductors 2013-2014
Pokitto 5:ea7377f3d1af 6 * Generated linker script file for LPC11U68
Pokitto 5:ea7377f3d1af 7 * Created from LibIncTemplate.ld (LPCXpresso v7.2 (0 [Build 153] [2014-05-19] ))
Pokitto 5:ea7377f3d1af 8 * By LPCXpresso v7.2.0 [Build 153] [2014-05-19] on Sat Jun 14 15:26:54 JST 2014
Pokitto 5:ea7377f3d1af 9 */
Pokitto 5:ea7377f3d1af 10 GROUP(libgcc.a libc.a libstdc++.a libm.a libcr_newlib_nohost.a crti.o crtn.o crtbegin.o crtend.o)
Pokitto 5:ea7377f3d1af 11
Pokitto 5:ea7377f3d1af 12 MEMORY
Pokitto 5:ea7377f3d1af 13 {
Pokitto 5:ea7377f3d1af 14 /* Define each memory region */
Pokitto 5:ea7377f3d1af 15 MFlash256 (rx) : ORIGIN = 0x0, LENGTH = 0x40000 /* 256K bytes */
Pokitto 5:ea7377f3d1af 16 Ram0_32 (rwx) : ORIGIN = 0x10000000+0x100, LENGTH = 0x8000-0x100 /* 32K bytes */
Pokitto 5:ea7377f3d1af 17 Ram1_2 (rwx) : ORIGIN = 0x20000000, LENGTH = 0x800 /* 2K bytes */
Pokitto 5:ea7377f3d1af 18 Ram2USB_2 (rwx) : ORIGIN = 0x20004000, LENGTH = 0x800 /* 2K bytes */
Pokitto 5:ea7377f3d1af 19
Pokitto 5:ea7377f3d1af 20
Pokitto 5:ea7377f3d1af 21 }
Pokitto 5:ea7377f3d1af 22 /* Define a symbol for the top of each memory region */
Pokitto 5:ea7377f3d1af 23 __top_MFlash256 = 0x0 + 0x40000;
Pokitto 5:ea7377f3d1af 24 __top_Ram0_32 = 0x10000000+0x100 + 0x8000-0x100;
Pokitto 5:ea7377f3d1af 25 __top_Ram1_2 = 0x20000000 + 0x800;
Pokitto 5:ea7377f3d1af 26 __top_Ram2USB_2 = 0x20004000 + 0x800;
Pokitto 5:ea7377f3d1af 27
Pokitto 5:ea7377f3d1af 28 ENTRY(ResetISR)
Pokitto 5:ea7377f3d1af 29
Pokitto 5:ea7377f3d1af 30 SECTIONS
Pokitto 5:ea7377f3d1af 31 {
Pokitto 5:ea7377f3d1af 32
Pokitto 5:ea7377f3d1af 33 /* MAIN TEXT SECTION */
Pokitto 5:ea7377f3d1af 34 .text : ALIGN(4)
Pokitto 5:ea7377f3d1af 35 {
Pokitto 5:ea7377f3d1af 36 FILL(0xff)
Pokitto 5:ea7377f3d1af 37 KEEP(*(.isr_vector))
Pokitto 5:ea7377f3d1af 38 *(.text.ResetISR)
Pokitto 5:ea7377f3d1af 39 *(.text.SystemInit)
Pokitto 5:ea7377f3d1af 40
Pokitto 5:ea7377f3d1af 41 /* Global Section Table */
Pokitto 5:ea7377f3d1af 42 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 43 __section_table_start = .;
Pokitto 5:ea7377f3d1af 44 __data_section_table = .;
Pokitto 5:ea7377f3d1af 45 LONG(LOADADDR(.data));
Pokitto 5:ea7377f3d1af 46 LONG( ADDR(.data));
Pokitto 5:ea7377f3d1af 47 LONG( SIZEOF(.data));
Pokitto 5:ea7377f3d1af 48 LONG(LOADADDR(.data_RAM2));
Pokitto 5:ea7377f3d1af 49 LONG( ADDR(.data_RAM2));
Pokitto 5:ea7377f3d1af 50 LONG( SIZEOF(.data_RAM2));
Pokitto 5:ea7377f3d1af 51 LONG(LOADADDR(.data_RAM3));
Pokitto 5:ea7377f3d1af 52 LONG( ADDR(.data_RAM3));
Pokitto 5:ea7377f3d1af 53 LONG( SIZEOF(.data_RAM3));
Pokitto 5:ea7377f3d1af 54 __data_section_table_end = .;
Pokitto 5:ea7377f3d1af 55 __bss_section_table = .;
Pokitto 5:ea7377f3d1af 56 LONG( ADDR(.bss));
Pokitto 5:ea7377f3d1af 57 LONG( SIZEOF(.bss));
Pokitto 5:ea7377f3d1af 58 LONG( ADDR(.bss_RAM2));
Pokitto 5:ea7377f3d1af 59 LONG( SIZEOF(.bss_RAM2));
Pokitto 5:ea7377f3d1af 60 LONG( ADDR(.bss_RAM3));
Pokitto 5:ea7377f3d1af 61 LONG( SIZEOF(.bss_RAM3));
Pokitto 5:ea7377f3d1af 62 __bss_section_table_end = .;
Pokitto 5:ea7377f3d1af 63 __section_table_end = . ;
Pokitto 5:ea7377f3d1af 64 /* End of Global Section Table */
Pokitto 5:ea7377f3d1af 65
Pokitto 5:ea7377f3d1af 66
Pokitto 5:ea7377f3d1af 67 *(.after_vectors*)
Pokitto 5:ea7377f3d1af 68
Pokitto 5:ea7377f3d1af 69 *(.text*)
Pokitto 5:ea7377f3d1af 70 *(.rodata .rodata.*)
Pokitto 5:ea7377f3d1af 71 . = ALIGN(4);
Pokitto 5:ea7377f3d1af 72
Pokitto 5:ea7377f3d1af 73 /* C++ constructors etc */
Pokitto 5:ea7377f3d1af 74 . = ALIGN(4);
Pokitto 5:ea7377f3d1af 75 KEEP(*(.init))
Pokitto 5:ea7377f3d1af 76
Pokitto 5:ea7377f3d1af 77 . = ALIGN(4);
Pokitto 5:ea7377f3d1af 78 __preinit_array_start = .;
Pokitto 5:ea7377f3d1af 79 KEEP (*(.preinit_array))
Pokitto 5:ea7377f3d1af 80 __preinit_array_end = .;
Pokitto 5:ea7377f3d1af 81
Pokitto 5:ea7377f3d1af 82 . = ALIGN(4);
Pokitto 5:ea7377f3d1af 83 __init_array_start = .;
Pokitto 5:ea7377f3d1af 84 KEEP (*(SORT(.init_array.*)))
Pokitto 5:ea7377f3d1af 85 KEEP (*(.init_array))
Pokitto 5:ea7377f3d1af 86 __init_array_end = .;
Pokitto 5:ea7377f3d1af 87
Pokitto 5:ea7377f3d1af 88 KEEP(*(.fini));
Pokitto 5:ea7377f3d1af 89
Pokitto 5:ea7377f3d1af 90 . = ALIGN(0x4);
Pokitto 5:ea7377f3d1af 91 KEEP (*crtbegin.o(.ctors))
Pokitto 5:ea7377f3d1af 92 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
Pokitto 5:ea7377f3d1af 93 KEEP (*(SORT(.ctors.*)))
Pokitto 5:ea7377f3d1af 94 KEEP (*crtend.o(.ctors))
Pokitto 5:ea7377f3d1af 95
Pokitto 5:ea7377f3d1af 96 . = ALIGN(0x4);
Pokitto 5:ea7377f3d1af 97 KEEP (*crtbegin.o(.dtors))
Pokitto 5:ea7377f3d1af 98 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
Pokitto 5:ea7377f3d1af 99 KEEP (*(SORT(.dtors.*)))
Pokitto 5:ea7377f3d1af 100 KEEP (*crtend.o(.dtors))
Pokitto 5:ea7377f3d1af 101 } > MFlash256
Pokitto 5:ea7377f3d1af 102
Pokitto 5:ea7377f3d1af 103 /*
Pokitto 5:ea7377f3d1af 104 * for exception handling/unwind - some Newlib functions (in common
Pokitto 5:ea7377f3d1af 105 * with C++ and STDC++) use this.
Pokitto 5:ea7377f3d1af 106 */
Pokitto 5:ea7377f3d1af 107 .ARM.extab : ALIGN(4)
Pokitto 5:ea7377f3d1af 108 {
Pokitto 5:ea7377f3d1af 109 *(.ARM.extab* .gnu.linkonce.armextab.*)
Pokitto 5:ea7377f3d1af 110 } > MFlash256
Pokitto 5:ea7377f3d1af 111 __exidx_start = .;
Pokitto 5:ea7377f3d1af 112
Pokitto 5:ea7377f3d1af 113 .ARM.exidx : ALIGN(4)
Pokitto 5:ea7377f3d1af 114 {
Pokitto 5:ea7377f3d1af 115 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
Pokitto 5:ea7377f3d1af 116 } > MFlash256
Pokitto 5:ea7377f3d1af 117 __exidx_end = .;
Pokitto 5:ea7377f3d1af 118
Pokitto 5:ea7377f3d1af 119 _etext = .;
Pokitto 5:ea7377f3d1af 120
Pokitto 5:ea7377f3d1af 121 /* possible MTB section for Ram1_2 */
Pokitto 5:ea7377f3d1af 122 .mtb_buffer_RAM2 (NOLOAD) :
Pokitto 5:ea7377f3d1af 123 {
Pokitto 5:ea7377f3d1af 124 KEEP(*(.mtb.$RAM2*))
Pokitto 5:ea7377f3d1af 125 KEEP(*(.mtb.$RAM1_2*))
Pokitto 5:ea7377f3d1af 126 } > Ram1_2
Pokitto 5:ea7377f3d1af 127
Pokitto 5:ea7377f3d1af 128 /* DATA section for Ram1_2 */
Pokitto 5:ea7377f3d1af 129 .data_RAM2 : ALIGN(4)
Pokitto 5:ea7377f3d1af 130 {
Pokitto 5:ea7377f3d1af 131 FILL(0xff)
Pokitto 5:ea7377f3d1af 132 *(.ramfunc.$RAM2)
Pokitto 5:ea7377f3d1af 133 *(.ramfunc.$Ram1_2)
Pokitto 5:ea7377f3d1af 134 *(.data.$RAM2*)
Pokitto 5:ea7377f3d1af 135 *(.data.$Ram1_2*)
Pokitto 5:ea7377f3d1af 136 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 137 } > Ram1_2 AT>MFlash256
Pokitto 5:ea7377f3d1af 138 /* possible MTB section for Ram2USB_2 */
Pokitto 5:ea7377f3d1af 139 .mtb_buffer_RAM3 (NOLOAD) :
Pokitto 5:ea7377f3d1af 140 {
Pokitto 5:ea7377f3d1af 141 KEEP(*(.mtb.$RAM3*))
Pokitto 5:ea7377f3d1af 142 KEEP(*(.mtb.$RAM2USB_2*))
Pokitto 5:ea7377f3d1af 143 } > Ram2USB_2
Pokitto 5:ea7377f3d1af 144
Pokitto 5:ea7377f3d1af 145 /* DATA section for Ram2USB_2 */
Pokitto 5:ea7377f3d1af 146 .data_RAM3 : ALIGN(4)
Pokitto 5:ea7377f3d1af 147 {
Pokitto 5:ea7377f3d1af 148 FILL(0xff)
Pokitto 5:ea7377f3d1af 149 *(.ramfunc.$RAM3)
Pokitto 5:ea7377f3d1af 150 *(.ramfunc.$Ram2USB_2)
Pokitto 5:ea7377f3d1af 151 *(.data.$RAM3*)
Pokitto 5:ea7377f3d1af 152 *(.data.$Ram2USB_2*)
Pokitto 5:ea7377f3d1af 153 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 154 } > Ram2USB_2 AT>MFlash256
Pokitto 5:ea7377f3d1af 155
Pokitto 5:ea7377f3d1af 156 /* MAIN DATA SECTION */
Pokitto 5:ea7377f3d1af 157
Pokitto 5:ea7377f3d1af 158 /* Default MTB section */
Pokitto 5:ea7377f3d1af 159 .mtb_buffer_default (NOLOAD) :
Pokitto 5:ea7377f3d1af 160 {
Pokitto 5:ea7377f3d1af 161 KEEP(*(.mtb*))
Pokitto 5:ea7377f3d1af 162 } > Ram0_32
Pokitto 5:ea7377f3d1af 163
Pokitto 5:ea7377f3d1af 164 .uninit_RESERVED : ALIGN(4)
Pokitto 5:ea7377f3d1af 165 {
Pokitto 5:ea7377f3d1af 166 KEEP(*(.bss.$RESERVED*))
Pokitto 5:ea7377f3d1af 167 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 168 _end_uninit_RESERVED = .;
Pokitto 5:ea7377f3d1af 169 } > Ram0_32
Pokitto 5:ea7377f3d1af 170
Pokitto 5:ea7377f3d1af 171
Pokitto 5:ea7377f3d1af 172 /* Main DATA section (Ram0_32) */
Pokitto 5:ea7377f3d1af 173 .data : ALIGN(4)
Pokitto 5:ea7377f3d1af 174 {
Pokitto 5:ea7377f3d1af 175 FILL(0xff)
Pokitto 5:ea7377f3d1af 176 _data = . ;
Pokitto 5:ea7377f3d1af 177 *(vtable)
Pokitto 5:ea7377f3d1af 178 *(.ramfunc*)
Pokitto 5:ea7377f3d1af 179 *(.data*)
Pokitto 5:ea7377f3d1af 180 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 181 _edata = . ;
Pokitto 5:ea7377f3d1af 182 } > Ram0_32 AT>MFlash256
Pokitto 5:ea7377f3d1af 183
Pokitto 5:ea7377f3d1af 184 /* BSS section for Ram1_2 */
Pokitto 5:ea7377f3d1af 185 .bss_RAM2 : ALIGN(4)
Pokitto 5:ea7377f3d1af 186 {
Pokitto 5:ea7377f3d1af 187 *(.bss.$RAM2*)
Pokitto 5:ea7377f3d1af 188 *(.bss.$Ram1_2*)
Pokitto 5:ea7377f3d1af 189 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 190 } > Ram1_2
Pokitto 5:ea7377f3d1af 191 /* BSS section for Ram2USB_2 */
Pokitto 5:ea7377f3d1af 192 .bss_RAM3 : ALIGN(4)
Pokitto 5:ea7377f3d1af 193 {
Pokitto 5:ea7377f3d1af 194 *(.bss.$RAM3*)
Pokitto 5:ea7377f3d1af 195 *(.bss.$Ram2USB_2*)
Pokitto 5:ea7377f3d1af 196 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 197 } > Ram2USB_2
Pokitto 5:ea7377f3d1af 198
Pokitto 5:ea7377f3d1af 199 /* MAIN BSS SECTION */
Pokitto 5:ea7377f3d1af 200 .bss : ALIGN(4)
Pokitto 5:ea7377f3d1af 201 {
Pokitto 5:ea7377f3d1af 202 _bss = .;
Pokitto 5:ea7377f3d1af 203 *(.bss*)
Pokitto 5:ea7377f3d1af 204 *(COMMON)
Pokitto 5:ea7377f3d1af 205 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 206 _ebss = .;
Pokitto 5:ea7377f3d1af 207 PROVIDE(end = .);
Pokitto 5:ea7377f3d1af 208 __end__ = .;
Pokitto 5:ea7377f3d1af 209 } > Ram0_32
Pokitto 5:ea7377f3d1af 210
Pokitto 5:ea7377f3d1af 211 /* NOINIT section for Ram1_2 */
Pokitto 5:ea7377f3d1af 212 .noinit_RAM2 (NOLOAD) : ALIGN(4)
Pokitto 5:ea7377f3d1af 213 {
Pokitto 5:ea7377f3d1af 214 *(.noinit.$RAM2*)
Pokitto 5:ea7377f3d1af 215 *(.noinit.$Ram1_2*)
Pokitto 5:ea7377f3d1af 216 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 217 } > Ram1_2
Pokitto 5:ea7377f3d1af 218 /* NOINIT section for Ram2USB_2 */
Pokitto 5:ea7377f3d1af 219 .noinit_RAM3 (NOLOAD) : ALIGN(4)
Pokitto 5:ea7377f3d1af 220 {
Pokitto 5:ea7377f3d1af 221 *(.noinit.$RAM3*)
Pokitto 5:ea7377f3d1af 222 *(.noinit.$Ram2USB_2*)
Pokitto 5:ea7377f3d1af 223 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 224 } > Ram2USB_2
Pokitto 5:ea7377f3d1af 225
Pokitto 5:ea7377f3d1af 226 /* DEFAULT NOINIT SECTION */
Pokitto 5:ea7377f3d1af 227 .noinit (NOLOAD): ALIGN(4)
Pokitto 5:ea7377f3d1af 228 {
Pokitto 5:ea7377f3d1af 229 _noinit = .;
Pokitto 5:ea7377f3d1af 230 *(.noinit*)
Pokitto 5:ea7377f3d1af 231 . = ALIGN(4) ;
Pokitto 5:ea7377f3d1af 232 _end_noinit = .;
Pokitto 5:ea7377f3d1af 233 } > Ram0_32
Pokitto 5:ea7377f3d1af 234
Pokitto 5:ea7377f3d1af 235 PROVIDE(_pvHeapStart = .);
Pokitto 5:ea7377f3d1af 236 PROVIDE(_vStackTop = __top_Ram0_32 - 0);
Pokitto 5:ea7377f3d1af 237 }