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