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 ;; Copyright (c) 2009 Nordic Semiconductor. All Rights Reserved.
sahilmgandhi 18:6a4db94011d3 2 ;; The information contained herein is confidential property of Nordic
sahilmgandhi 18:6a4db94011d3 3 ;; Semiconductor ASA.Terms and conditions of usage are described in detail
sahilmgandhi 18:6a4db94011d3 4 ;; in NORDIC SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
sahilmgandhi 18:6a4db94011d3 5 ;; Licensees are granted free, non-transferable use of the information. NO
sahilmgandhi 18:6a4db94011d3 6 ;; WARRANTY of ANY KIND is provided. This heading must NOT be removed from
sahilmgandhi 18:6a4db94011d3 7 ;; the file.
sahilmgandhi 18:6a4db94011d3 8
sahilmgandhi 18:6a4db94011d3 9 ;; Description message
sahilmgandhi 18:6a4db94011d3 10
sahilmgandhi 18:6a4db94011d3 11 MODULE ?cstartup
sahilmgandhi 18:6a4db94011d3 12
sahilmgandhi 18:6a4db94011d3 13 ;; Stack size default : 1024
sahilmgandhi 18:6a4db94011d3 14 ;; Heap size default : 2048
sahilmgandhi 18:6a4db94011d3 15
sahilmgandhi 18:6a4db94011d3 16 ;; Forward declaration of sections.
sahilmgandhi 18:6a4db94011d3 17 SECTION CSTACK:DATA:NOROOT(3)
sahilmgandhi 18:6a4db94011d3 18
sahilmgandhi 18:6a4db94011d3 19 SECTION .intvec:CODE:NOROOT(2)
sahilmgandhi 18:6a4db94011d3 20
sahilmgandhi 18:6a4db94011d3 21 EXTERN __iar_program_start
sahilmgandhi 18:6a4db94011d3 22 EXTERN SystemInit
sahilmgandhi 18:6a4db94011d3 23 EXTERN nrf_reloc_vector_table
sahilmgandhi 18:6a4db94011d3 24 PUBLIC __vector_table
sahilmgandhi 18:6a4db94011d3 25 PUBLIC __Vectors
sahilmgandhi 18:6a4db94011d3 26 PUBLIC __Vectors_End
sahilmgandhi 18:6a4db94011d3 27 PUBLIC __Vectors_Size
sahilmgandhi 18:6a4db94011d3 28
sahilmgandhi 18:6a4db94011d3 29 DATA
sahilmgandhi 18:6a4db94011d3 30
sahilmgandhi 18:6a4db94011d3 31 __vector_table
sahilmgandhi 18:6a4db94011d3 32 DCD sfe(CSTACK)
sahilmgandhi 18:6a4db94011d3 33 DCD Reset_Handler
sahilmgandhi 18:6a4db94011d3 34 DCD NMI_Handler
sahilmgandhi 18:6a4db94011d3 35 DCD HardFault_Handler
sahilmgandhi 18:6a4db94011d3 36 DCD 0
sahilmgandhi 18:6a4db94011d3 37 DCD 0
sahilmgandhi 18:6a4db94011d3 38 DCD 0
sahilmgandhi 18:6a4db94011d3 39 ;__vector_table_0x1c
sahilmgandhi 18:6a4db94011d3 40 DCD 0
sahilmgandhi 18:6a4db94011d3 41 DCD 0
sahilmgandhi 18:6a4db94011d3 42 DCD 0
sahilmgandhi 18:6a4db94011d3 43 DCD 0
sahilmgandhi 18:6a4db94011d3 44 DCD SVC_Handler
sahilmgandhi 18:6a4db94011d3 45 DCD 0
sahilmgandhi 18:6a4db94011d3 46 DCD 0
sahilmgandhi 18:6a4db94011d3 47 DCD PendSV_Handler
sahilmgandhi 18:6a4db94011d3 48 DCD SysTick_Handler
sahilmgandhi 18:6a4db94011d3 49
sahilmgandhi 18:6a4db94011d3 50 ; External Interrupts
sahilmgandhi 18:6a4db94011d3 51 DCD POWER_CLOCK_IRQHandler ;POWER_CLOCK
sahilmgandhi 18:6a4db94011d3 52 DCD RADIO_IRQHandler ;RADIO
sahilmgandhi 18:6a4db94011d3 53 DCD UART0_IRQHandler_v ;UART0
sahilmgandhi 18:6a4db94011d3 54 DCD SPI0_TWI0_IRQHandler_v ;SPI0_TWI0
sahilmgandhi 18:6a4db94011d3 55 DCD SPI1_TWI1_IRQHandler_v ;SPI1_TWI1
sahilmgandhi 18:6a4db94011d3 56 DCD 0 ;Reserved
sahilmgandhi 18:6a4db94011d3 57 DCD GPIOTE_IRQHandler_v ;GPIOTE
sahilmgandhi 18:6a4db94011d3 58 DCD ADC_IRQHandler_v ;ADC
sahilmgandhi 18:6a4db94011d3 59 DCD TIMER0_IRQHandler ;TIMER0
sahilmgandhi 18:6a4db94011d3 60 DCD TIMER1_IRQHandler_v ;TIMER1
sahilmgandhi 18:6a4db94011d3 61 DCD TIMER2_IRQHandler_v ;TIMER2
sahilmgandhi 18:6a4db94011d3 62 DCD RTC0_IRQHandler ;RTC0
sahilmgandhi 18:6a4db94011d3 63 DCD TEMP_IRQHandler ;TEMP
sahilmgandhi 18:6a4db94011d3 64 DCD RNG_IRQHandler ;RNG
sahilmgandhi 18:6a4db94011d3 65 DCD ECB_IRQHandler ;ECB
sahilmgandhi 18:6a4db94011d3 66 DCD CCM_AAR_IRQHandler ;CCM_AAR
sahilmgandhi 18:6a4db94011d3 67 DCD WDT_IRQHandler_v ;WDT
sahilmgandhi 18:6a4db94011d3 68 DCD RTC1_IRQHandler_v ;RTC1
sahilmgandhi 18:6a4db94011d3 69 DCD QDEC_IRQHandler_v ;QDEC
sahilmgandhi 18:6a4db94011d3 70 DCD LPCOMP_IRQHandler_v ;LPCOMP_COMP
sahilmgandhi 18:6a4db94011d3 71 DCD SWI0_IRQHandler ;SWI0
sahilmgandhi 18:6a4db94011d3 72 DCD SWI1_IRQHandler_v ;SWI1
sahilmgandhi 18:6a4db94011d3 73 DCD SWI2_IRQHandler_v ;SWI2
sahilmgandhi 18:6a4db94011d3 74 DCD SWI3_IRQHandler_v ;SWI3
sahilmgandhi 18:6a4db94011d3 75 DCD SWI4_IRQHandler ;SWI4
sahilmgandhi 18:6a4db94011d3 76 DCD SWI5_IRQHandler ;SWI5
sahilmgandhi 18:6a4db94011d3 77
sahilmgandhi 18:6a4db94011d3 78
sahilmgandhi 18:6a4db94011d3 79 __Vectors_End
sahilmgandhi 18:6a4db94011d3 80 __Vectors EQU __vector_table
sahilmgandhi 18:6a4db94011d3 81 __Vectors_Size EQU __Vectors_End - __Vectors
sahilmgandhi 18:6a4db94011d3 82 NRF_POWER_RAMON_ADDRESS EQU 0x40000524 ; NRF_POWER->RAMON address
sahilmgandhi 18:6a4db94011d3 83 NRF_POWER_RAMON_RAMxON_ONMODE_Msk EQU 0xF ; All RAM blocks on in onmode bit mask
sahilmgandhi 18:6a4db94011d3 84
sahilmgandhi 18:6a4db94011d3 85 ; Default handlers.
sahilmgandhi 18:6a4db94011d3 86 THUMB
sahilmgandhi 18:6a4db94011d3 87
sahilmgandhi 18:6a4db94011d3 88 PUBWEAK Reset_Handler
sahilmgandhi 18:6a4db94011d3 89 SECTION .text:CODE:REORDER:NOROOT(2)
sahilmgandhi 18:6a4db94011d3 90 Reset_Handler
sahilmgandhi 18:6a4db94011d3 91 LDR R0, =NRF_POWER_RAMON_ADDRESS
sahilmgandhi 18:6a4db94011d3 92 LDR R2, [R0]
sahilmgandhi 18:6a4db94011d3 93 MOVS R1, #NRF_POWER_RAMON_RAMxON_ONMODE_Msk
sahilmgandhi 18:6a4db94011d3 94 ORRS R2, R2, R1
sahilmgandhi 18:6a4db94011d3 95 STR R2, [R0]
sahilmgandhi 18:6a4db94011d3 96 LDR R0, =SystemInit
sahilmgandhi 18:6a4db94011d3 97 BLX R0
sahilmgandhi 18:6a4db94011d3 98 LDR R0, =nrf_reloc_vector_table
sahilmgandhi 18:6a4db94011d3 99 BLX R0
sahilmgandhi 18:6a4db94011d3 100 LDR R0, =__iar_program_start
sahilmgandhi 18:6a4db94011d3 101 BX R0
sahilmgandhi 18:6a4db94011d3 102
sahilmgandhi 18:6a4db94011d3 103 ; Dummy exception handlers
sahilmgandhi 18:6a4db94011d3 104
sahilmgandhi 18:6a4db94011d3 105 PUBWEAK NMI_Handler
sahilmgandhi 18:6a4db94011d3 106 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 107 NMI_Handler
sahilmgandhi 18:6a4db94011d3 108 B .
sahilmgandhi 18:6a4db94011d3 109
sahilmgandhi 18:6a4db94011d3 110 PUBWEAK HardFault_Handler
sahilmgandhi 18:6a4db94011d3 111 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 112 HardFault_Handler
sahilmgandhi 18:6a4db94011d3 113 B .
sahilmgandhi 18:6a4db94011d3 114
sahilmgandhi 18:6a4db94011d3 115 PUBWEAK SVC_Handler
sahilmgandhi 18:6a4db94011d3 116 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 117 SVC_Handler
sahilmgandhi 18:6a4db94011d3 118 B .
sahilmgandhi 18:6a4db94011d3 119
sahilmgandhi 18:6a4db94011d3 120 PUBWEAK PendSV_Handler
sahilmgandhi 18:6a4db94011d3 121 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 122 PendSV_Handler
sahilmgandhi 18:6a4db94011d3 123 B .
sahilmgandhi 18:6a4db94011d3 124
sahilmgandhi 18:6a4db94011d3 125 PUBWEAK SysTick_Handler
sahilmgandhi 18:6a4db94011d3 126 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 127 SysTick_Handler
sahilmgandhi 18:6a4db94011d3 128 B .
sahilmgandhi 18:6a4db94011d3 129
sahilmgandhi 18:6a4db94011d3 130 ; Dummy interrupt handlers
sahilmgandhi 18:6a4db94011d3 131
sahilmgandhi 18:6a4db94011d3 132 PUBWEAK POWER_CLOCK_IRQHandler
sahilmgandhi 18:6a4db94011d3 133 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 134 POWER_CLOCK_IRQHandler
sahilmgandhi 18:6a4db94011d3 135 B .
sahilmgandhi 18:6a4db94011d3 136 PUBWEAK RADIO_IRQHandler
sahilmgandhi 18:6a4db94011d3 137 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 138 RADIO_IRQHandler
sahilmgandhi 18:6a4db94011d3 139 B .
sahilmgandhi 18:6a4db94011d3 140 PUBWEAK UART0_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 141 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 142 UART0_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 143 B .
sahilmgandhi 18:6a4db94011d3 144 PUBWEAK SPI0_TWI0_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 145 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 146 SPI0_TWI0_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 147 B .
sahilmgandhi 18:6a4db94011d3 148 PUBWEAK SPI1_TWI1_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 149 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 150 SPI1_TWI1_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 151 B .
sahilmgandhi 18:6a4db94011d3 152 PUBWEAK GPIOTE_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 153 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 154 GPIOTE_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 155 B .
sahilmgandhi 18:6a4db94011d3 156 PUBWEAK ADC_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 157 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 158 ADC_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 159 B .
sahilmgandhi 18:6a4db94011d3 160 PUBWEAK TIMER0_IRQHandler
sahilmgandhi 18:6a4db94011d3 161 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 162 TIMER0_IRQHandler
sahilmgandhi 18:6a4db94011d3 163 B .
sahilmgandhi 18:6a4db94011d3 164 PUBWEAK TIMER1_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 165 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 166 TIMER1_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 167 B .
sahilmgandhi 18:6a4db94011d3 168 PUBWEAK TIMER2_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 169 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 170 TIMER2_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 171 B .
sahilmgandhi 18:6a4db94011d3 172 PUBWEAK RTC0_IRQHandler
sahilmgandhi 18:6a4db94011d3 173 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 174 RTC0_IRQHandler
sahilmgandhi 18:6a4db94011d3 175 B .
sahilmgandhi 18:6a4db94011d3 176 PUBWEAK TEMP_IRQHandler
sahilmgandhi 18:6a4db94011d3 177 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 178 TEMP_IRQHandler
sahilmgandhi 18:6a4db94011d3 179 B .
sahilmgandhi 18:6a4db94011d3 180 PUBWEAK RNG_IRQHandler
sahilmgandhi 18:6a4db94011d3 181 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 182 RNG_IRQHandler
sahilmgandhi 18:6a4db94011d3 183 B .
sahilmgandhi 18:6a4db94011d3 184 PUBWEAK ECB_IRQHandler
sahilmgandhi 18:6a4db94011d3 185 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 186 ECB_IRQHandler
sahilmgandhi 18:6a4db94011d3 187 B .
sahilmgandhi 18:6a4db94011d3 188 PUBWEAK CCM_AAR_IRQHandler
sahilmgandhi 18:6a4db94011d3 189 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 190 CCM_AAR_IRQHandler
sahilmgandhi 18:6a4db94011d3 191 B .
sahilmgandhi 18:6a4db94011d3 192 PUBWEAK WDT_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 193 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 194 WDT_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 195 B .
sahilmgandhi 18:6a4db94011d3 196 PUBWEAK RTC1_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 197 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 198 RTC1_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 199 B .
sahilmgandhi 18:6a4db94011d3 200 PUBWEAK QDEC_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 201 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 202 QDEC_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 203 B .
sahilmgandhi 18:6a4db94011d3 204 PUBWEAK LPCOMP_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 205 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 206 LPCOMP_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 207 B .
sahilmgandhi 18:6a4db94011d3 208 PUBWEAK SWI0_IRQHandler
sahilmgandhi 18:6a4db94011d3 209 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 210 SWI0_IRQHandler
sahilmgandhi 18:6a4db94011d3 211 B .
sahilmgandhi 18:6a4db94011d3 212 PUBWEAK SWI1_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 213 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 214 SWI1_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 215 B .
sahilmgandhi 18:6a4db94011d3 216 PUBWEAK SWI2_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 217 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 218 SWI2_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 219 B .
sahilmgandhi 18:6a4db94011d3 220 PUBWEAK SWI3_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 221 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 222 SWI3_IRQHandler_v
sahilmgandhi 18:6a4db94011d3 223 B .
sahilmgandhi 18:6a4db94011d3 224 PUBWEAK SWI4_IRQHandler
sahilmgandhi 18:6a4db94011d3 225 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 226 SWI4_IRQHandler
sahilmgandhi 18:6a4db94011d3 227 B .
sahilmgandhi 18:6a4db94011d3 228 PUBWEAK SWI5_IRQHandler
sahilmgandhi 18:6a4db94011d3 229 SECTION .text:CODE:REORDER:NOROOT(1)
sahilmgandhi 18:6a4db94011d3 230 SWI5_IRQHandler
sahilmgandhi 18:6a4db94011d3 231 B .
sahilmgandhi 18:6a4db94011d3 232
sahilmgandhi 18:6a4db94011d3 233
sahilmgandhi 18:6a4db94011d3 234 END