Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Committer:
sahilmgandhi
Date:
Sat Jun 03 00:22:44 2017 +0000
Revision:
46:b156ef445742
Parent:
18:6a4db94011d3
Final code for internal battlebot competition.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sahilmgandhi 18:6a4db94011d3 1 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
sahilmgandhi 18:6a4db94011d3 2 OUTPUT_ARCH(arm)
sahilmgandhi 18:6a4db94011d3 3 SEARCH_DIR(.)
sahilmgandhi 18:6a4db94011d3 4
sahilmgandhi 18:6a4db94011d3 5 /* Memory Spaces Definitions */
sahilmgandhi 18:6a4db94011d3 6 MEMORY {
sahilmgandhi 18:6a4db94011d3 7 rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00080000
sahilmgandhi 18:6a4db94011d3 8 ram (rwx) : ORIGIN = 0x20000000 + 0x108, LENGTH = 0x00028000 - 0x108
sahilmgandhi 18:6a4db94011d3 9 }
sahilmgandhi 18:6a4db94011d3 10
sahilmgandhi 18:6a4db94011d3 11 /* The stack size used by the application. NOTE: you need to adjust according to your application. */
sahilmgandhi 18:6a4db94011d3 12 STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x3000;
sahilmgandhi 18:6a4db94011d3 13
sahilmgandhi 18:6a4db94011d3 14 /* Section Definitions */
sahilmgandhi 18:6a4db94011d3 15 SECTIONS {
sahilmgandhi 18:6a4db94011d3 16 .text :
sahilmgandhi 18:6a4db94011d3 17 {
sahilmgandhi 18:6a4db94011d3 18 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 19 _sfixed = .;
sahilmgandhi 18:6a4db94011d3 20 KEEP(*(.vectors .vectors.*))
sahilmgandhi 18:6a4db94011d3 21 *(.text .text.* .gnu.linkonce.t.*)
sahilmgandhi 18:6a4db94011d3 22 *(.glue_7t) *(.glue_7)
sahilmgandhi 18:6a4db94011d3 23 *(.rodata .rodata* .gnu.linkonce.r.*)
sahilmgandhi 18:6a4db94011d3 24 *(.ARM.extab* .gnu.linkonce.armextab.*)
sahilmgandhi 18:6a4db94011d3 25
sahilmgandhi 18:6a4db94011d3 26 /* Support C constructors, and C destructors in both user code
sahilmgandhi 18:6a4db94011d3 27 and the C library. This also provides support for C++ code. */
sahilmgandhi 18:6a4db94011d3 28 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 29 KEEP(*(.init))
sahilmgandhi 18:6a4db94011d3 30 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 31 __preinit_array_start = .;
sahilmgandhi 18:6a4db94011d3 32 KEEP (*(.preinit_array))
sahilmgandhi 18:6a4db94011d3 33 __preinit_array_end = .;
sahilmgandhi 18:6a4db94011d3 34
sahilmgandhi 18:6a4db94011d3 35 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 36 __init_array_start = .;
sahilmgandhi 18:6a4db94011d3 37 KEEP (*(SORT(.init_array.*)))
sahilmgandhi 18:6a4db94011d3 38 KEEP (*(.init_array))
sahilmgandhi 18:6a4db94011d3 39 __init_array_end = .;
sahilmgandhi 18:6a4db94011d3 40
sahilmgandhi 18:6a4db94011d3 41 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 42 KEEP (*crtbegin.o(.ctors))
sahilmgandhi 18:6a4db94011d3 43 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
sahilmgandhi 18:6a4db94011d3 44 KEEP (*(SORT(.ctors.*)))
sahilmgandhi 18:6a4db94011d3 45 KEEP (*crtend.o(.ctors))
sahilmgandhi 18:6a4db94011d3 46
sahilmgandhi 18:6a4db94011d3 47 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 48 KEEP(*(.fini))
sahilmgandhi 18:6a4db94011d3 49
sahilmgandhi 18:6a4db94011d3 50 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 51 __fini_array_start = .;
sahilmgandhi 18:6a4db94011d3 52 KEEP (*(.fini_array))
sahilmgandhi 18:6a4db94011d3 53 KEEP (*(SORT(.fini_array.*)))
sahilmgandhi 18:6a4db94011d3 54 __fini_array_end = .;
sahilmgandhi 18:6a4db94011d3 55
sahilmgandhi 18:6a4db94011d3 56 KEEP (*crtbegin.o(.dtors))
sahilmgandhi 18:6a4db94011d3 57 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
sahilmgandhi 18:6a4db94011d3 58 KEEP (*(SORT(.dtors.*)))
sahilmgandhi 18:6a4db94011d3 59 KEEP (*crtend.o(.dtors))
sahilmgandhi 18:6a4db94011d3 60
sahilmgandhi 18:6a4db94011d3 61 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 62 _efixed = .; /* End of text section */
sahilmgandhi 18:6a4db94011d3 63 } > rom
sahilmgandhi 18:6a4db94011d3 64
sahilmgandhi 18:6a4db94011d3 65 /* .ARM.exidx is sorted, so has to go in its own output section. */
sahilmgandhi 18:6a4db94011d3 66 PROVIDE_HIDDEN (__exidx_start = .);
sahilmgandhi 18:6a4db94011d3 67 .ARM.exidx :
sahilmgandhi 18:6a4db94011d3 68 {
sahilmgandhi 18:6a4db94011d3 69 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
sahilmgandhi 18:6a4db94011d3 70 } > rom
sahilmgandhi 18:6a4db94011d3 71 PROVIDE_HIDDEN (__exidx_end = .);
sahilmgandhi 18:6a4db94011d3 72
sahilmgandhi 18:6a4db94011d3 73 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 74 _etext = .;
sahilmgandhi 18:6a4db94011d3 75
sahilmgandhi 18:6a4db94011d3 76 .relocate :
sahilmgandhi 18:6a4db94011d3 77 AT (_etext)
sahilmgandhi 18:6a4db94011d3 78 {
sahilmgandhi 18:6a4db94011d3 79 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 80 _srelocate = .;
sahilmgandhi 18:6a4db94011d3 81 *(.ramfunc .ramfunc.*);
sahilmgandhi 18:6a4db94011d3 82 *(.data .data.*);
sahilmgandhi 18:6a4db94011d3 83 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 84 _erelocate = .;
sahilmgandhi 18:6a4db94011d3 85 } > ram
sahilmgandhi 18:6a4db94011d3 86
sahilmgandhi 18:6a4db94011d3 87 /* .bss section which is used for uninitialized data */
sahilmgandhi 18:6a4db94011d3 88 .bss (NOLOAD) :
sahilmgandhi 18:6a4db94011d3 89 {
sahilmgandhi 18:6a4db94011d3 90 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 91 _sbss = . ;
sahilmgandhi 18:6a4db94011d3 92 _szero = .;
sahilmgandhi 18:6a4db94011d3 93 *(.bss .bss.*)
sahilmgandhi 18:6a4db94011d3 94 *(COMMON)
sahilmgandhi 18:6a4db94011d3 95 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 96 _ebss = . ;
sahilmgandhi 18:6a4db94011d3 97 _ezero = .;
sahilmgandhi 18:6a4db94011d3 98 } > ram
sahilmgandhi 18:6a4db94011d3 99
sahilmgandhi 18:6a4db94011d3 100 .heap (NOLOAD) :
sahilmgandhi 18:6a4db94011d3 101 {
sahilmgandhi 18:6a4db94011d3 102 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 103 __end__ = . ;
sahilmgandhi 18:6a4db94011d3 104 . = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
sahilmgandhi 18:6a4db94011d3 105 } > ram
sahilmgandhi 18:6a4db94011d3 106
sahilmgandhi 18:6a4db94011d3 107 /* stack section */
sahilmgandhi 18:6a4db94011d3 108 .stack (NOLOAD):
sahilmgandhi 18:6a4db94011d3 109 {
sahilmgandhi 18:6a4db94011d3 110 . = ALIGN(8);
sahilmgandhi 18:6a4db94011d3 111 _sstack = .;
sahilmgandhi 18:6a4db94011d3 112 . = . + STACK_SIZE;
sahilmgandhi 18:6a4db94011d3 113 . = ALIGN(8);
sahilmgandhi 18:6a4db94011d3 114 _estack = .;
sahilmgandhi 18:6a4db94011d3 115 } > ram
sahilmgandhi 18:6a4db94011d3 116
sahilmgandhi 18:6a4db94011d3 117 . = ALIGN(4);
sahilmgandhi 18:6a4db94011d3 118 }