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 /*###ICF### Section handled by ICF editor, don't touch! ****/
sahilmgandhi 18:6a4db94011d3 2 /*-Editor annotation file-*/
sahilmgandhi 18:6a4db94011d3 3 /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
sahilmgandhi 18:6a4db94011d3 4 /*-Specials-*/
sahilmgandhi 18:6a4db94011d3 5 define symbol __ICFEDIT_intvec_start__ = 0x1c000;
sahilmgandhi 18:6a4db94011d3 6 /*-Memory Regions-*/
sahilmgandhi 18:6a4db94011d3 7 define symbol __ICFEDIT_region_ROM_start__ = 0x1c000;
sahilmgandhi 18:6a4db94011d3 8 define symbol __ICFEDIT_region_ROM_end__ = 0x7ffff;
sahilmgandhi 18:6a4db94011d3 9 define symbol __ICFEDIT_region_RAM_start__ = 0x20002ef8;
sahilmgandhi 18:6a4db94011d3 10 define symbol __ICFEDIT_region_RAM_end__ = 0x2000ffff;
sahilmgandhi 18:6a4db94011d3 11 export symbol __ICFEDIT_region_RAM_start__;
sahilmgandhi 18:6a4db94011d3 12 export symbol __ICFEDIT_region_RAM_end__;
sahilmgandhi 18:6a4db94011d3 13 /*-Sizes-*/
sahilmgandhi 18:6a4db94011d3 14 /*Heap 1/4 of ram and stack 1/8*/
sahilmgandhi 18:6a4db94011d3 15 define symbol __ICFEDIT_size_cstack__ = 0x800;
sahilmgandhi 18:6a4db94011d3 16 define symbol __ICFEDIT_size_heap__ = 0x1800;
sahilmgandhi 18:6a4db94011d3 17 /**** End of ICF editor section. ###ICF###*/
sahilmgandhi 18:6a4db94011d3 18
sahilmgandhi 18:6a4db94011d3 19 define symbol __code_start_soft_device__ = 0x0;
sahilmgandhi 18:6a4db94011d3 20
sahilmgandhi 18:6a4db94011d3 21 define memory mem with size = 4G;
sahilmgandhi 18:6a4db94011d3 22 define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
sahilmgandhi 18:6a4db94011d3 23 define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
sahilmgandhi 18:6a4db94011d3 24
sahilmgandhi 18:6a4db94011d3 25 define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
sahilmgandhi 18:6a4db94011d3 26 define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
sahilmgandhi 18:6a4db94011d3 27
sahilmgandhi 18:6a4db94011d3 28 initialize by copy { readwrite };
sahilmgandhi 18:6a4db94011d3 29 do not initialize { section .noinit };
sahilmgandhi 18:6a4db94011d3 30
sahilmgandhi 18:6a4db94011d3 31 keep { section .intvec };
sahilmgandhi 18:6a4db94011d3 32 place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
sahilmgandhi 18:6a4db94011d3 33 place in ROM_region { readonly };
sahilmgandhi 18:6a4db94011d3 34 place in RAM_region { readwrite,
sahilmgandhi 18:6a4db94011d3 35 block HEAP,
sahilmgandhi 18:6a4db94011d3 36 block CSTACK };
sahilmgandhi 18:6a4db94011d3 37
sahilmgandhi 18:6a4db94011d3 38 /*This is used for mbed applications build inside the Embedded workbench
sahilmgandhi 18:6a4db94011d3 39 Applications build with the python scritps use a hex merge so need to merge it
sahilmgandhi 18:6a4db94011d3 40 inside the linker. The linker can only use binary files so the hex merge is not possible
sahilmgandhi 18:6a4db94011d3 41 through the linker. That is why a binary is used instead of a hex image for the embedded project.
sahilmgandhi 18:6a4db94011d3 42 */
sahilmgandhi 18:6a4db94011d3 43 if(isdefinedsymbol(SOFT_DEVICE_BIN))
sahilmgandhi 18:6a4db94011d3 44 {
sahilmgandhi 18:6a4db94011d3 45 place at address mem:__code_start_soft_device__ { section .noinit_softdevice };
sahilmgandhi 18:6a4db94011d3 46 }