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 ;/*****************************************************************************
sahilmgandhi 18:6a4db94011d3 2 ; * @file: startup_LPC407x_8x.s
sahilmgandhi 18:6a4db94011d3 3 ; * @purpose: CMSIS Cortex-M4 Core Device Startup File
sahilmgandhi 18:6a4db94011d3 4 ; * for the NXP LPC407x_8x Device Series
sahilmgandhi 18:6a4db94011d3 5 ; * @version: V1.20
sahilmgandhi 18:6a4db94011d3 6 ; * @date: 16. January 2012
sahilmgandhi 18:6a4db94011d3 7 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
sahilmgandhi 18:6a4db94011d3 8 ; *
sahilmgandhi 18:6a4db94011d3 9 ; * Copyright (C) 2012 ARM Limited. All rights reserved.
sahilmgandhi 18:6a4db94011d3 10 ; * ARM Limited (ARM) is supplying this software for use with Cortex-M4
sahilmgandhi 18:6a4db94011d3 11 ; * processor based microcontrollers. This file can be freely distributed
sahilmgandhi 18:6a4db94011d3 12 ; * within development tools that are supporting such ARM based processors.
sahilmgandhi 18:6a4db94011d3 13 ; *
sahilmgandhi 18:6a4db94011d3 14 ; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
sahilmgandhi 18:6a4db94011d3 15 ; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
sahilmgandhi 18:6a4db94011d3 16 ; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
sahilmgandhi 18:6a4db94011d3 17 ; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
sahilmgandhi 18:6a4db94011d3 18 ; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
sahilmgandhi 18:6a4db94011d3 19 ; *
sahilmgandhi 18:6a4db94011d3 20 ; *****************************************************************************/
sahilmgandhi 18:6a4db94011d3 21
sahilmgandhi 18:6a4db94011d3 22
sahilmgandhi 18:6a4db94011d3 23
sahilmgandhi 18:6a4db94011d3 24 __initial_sp EQU 0x10010000 ; Top of RAM from LPC4088
sahilmgandhi 18:6a4db94011d3 25
sahilmgandhi 18:6a4db94011d3 26 PRESERVE8
sahilmgandhi 18:6a4db94011d3 27 THUMB
sahilmgandhi 18:6a4db94011d3 28
sahilmgandhi 18:6a4db94011d3 29 ; Vector Table Mapped to Address 0 at Reset
sahilmgandhi 18:6a4db94011d3 30
sahilmgandhi 18:6a4db94011d3 31 AREA RESET, DATA, READONLY
sahilmgandhi 18:6a4db94011d3 32 EXPORT __Vectors
sahilmgandhi 18:6a4db94011d3 33
sahilmgandhi 18:6a4db94011d3 34 __Vectors DCD __initial_sp ; Top of Stack
sahilmgandhi 18:6a4db94011d3 35 DCD Reset_Handler ; Reset Handler
sahilmgandhi 18:6a4db94011d3 36 DCD NMI_Handler ; NMI Handler
sahilmgandhi 18:6a4db94011d3 37 DCD HardFault_Handler ; Hard Fault Handler
sahilmgandhi 18:6a4db94011d3 38 DCD MemManage_Handler ; MPU Fault Handler
sahilmgandhi 18:6a4db94011d3 39 DCD BusFault_Handler ; Bus Fault Handler
sahilmgandhi 18:6a4db94011d3 40 DCD UsageFault_Handler ; Usage Fault Handler
sahilmgandhi 18:6a4db94011d3 41 ; DCD 0xEFFFF5D6 ; Reserved- vector sum
sahilmgandhi 18:6a4db94011d3 42 DCD 0xEFFFF39E ; Reserved- vector sum
sahilmgandhi 18:6a4db94011d3 43 DCD 0 ; Reserved
sahilmgandhi 18:6a4db94011d3 44 DCD 0 ; Reserved
sahilmgandhi 18:6a4db94011d3 45 DCD 0 ; Reserved
sahilmgandhi 18:6a4db94011d3 46 DCD SVC_Handler ; SVCall Handler
sahilmgandhi 18:6a4db94011d3 47 DCD DebugMon_Handler ; Debug Monitor Handler
sahilmgandhi 18:6a4db94011d3 48 DCD 0 ; Reserved
sahilmgandhi 18:6a4db94011d3 49 DCD PendSV_Handler ; PendSV Handler
sahilmgandhi 18:6a4db94011d3 50 DCD SysTick_Handler ; SysTick Handler
sahilmgandhi 18:6a4db94011d3 51
sahilmgandhi 18:6a4db94011d3 52 ; External Interrupts
sahilmgandhi 18:6a4db94011d3 53 DCD WDT_IRQHandler ; 16: Watchdog Timer
sahilmgandhi 18:6a4db94011d3 54 DCD TIMER0_IRQHandler ; 17: Timer0
sahilmgandhi 18:6a4db94011d3 55 DCD TIMER1_IRQHandler ; 18: Timer1
sahilmgandhi 18:6a4db94011d3 56 DCD TIMER2_IRQHandler ; 19: Timer2
sahilmgandhi 18:6a4db94011d3 57 DCD TIMER3_IRQHandler ; 20: Timer3
sahilmgandhi 18:6a4db94011d3 58 DCD UART0_IRQHandler ; 21: UART0
sahilmgandhi 18:6a4db94011d3 59 DCD UART1_IRQHandler ; 22: UART1
sahilmgandhi 18:6a4db94011d3 60 DCD UART2_IRQHandler ; 23: UART2
sahilmgandhi 18:6a4db94011d3 61 DCD UART3_IRQHandler ; 24: UART3
sahilmgandhi 18:6a4db94011d3 62 DCD PWM1_IRQHandler ; 25: PWM1
sahilmgandhi 18:6a4db94011d3 63 DCD I2C0_IRQHandler ; 26: I2C0
sahilmgandhi 18:6a4db94011d3 64 DCD I2C1_IRQHandler ; 27: I2C1
sahilmgandhi 18:6a4db94011d3 65 DCD I2C2_IRQHandler ; 28: I2C2
sahilmgandhi 18:6a4db94011d3 66 DCD 0 ; 29: reserved, not for SPIFI anymore
sahilmgandhi 18:6a4db94011d3 67 DCD SSP0_IRQHandler ; 30: SSP0
sahilmgandhi 18:6a4db94011d3 68 DCD SSP1_IRQHandler ; 31: SSP1
sahilmgandhi 18:6a4db94011d3 69 DCD PLL0_IRQHandler ; 32: PLL0 Lock (Main PLL)
sahilmgandhi 18:6a4db94011d3 70 DCD RTC_IRQHandler ; 33: Real Time Clock
sahilmgandhi 18:6a4db94011d3 71 DCD EINT0_IRQHandler ; 34: External Interrupt 0
sahilmgandhi 18:6a4db94011d3 72 DCD EINT1_IRQHandler ; 35: External Interrupt 1
sahilmgandhi 18:6a4db94011d3 73 DCD EINT2_IRQHandler ; 36: External Interrupt 2
sahilmgandhi 18:6a4db94011d3 74 DCD EINT3_IRQHandler ; 37: External Interrupt 3
sahilmgandhi 18:6a4db94011d3 75 DCD ADC_IRQHandler ; 38: A/D Converter
sahilmgandhi 18:6a4db94011d3 76 DCD BOD_IRQHandler ; 39: Brown-Out Detect
sahilmgandhi 18:6a4db94011d3 77 DCD USB_IRQHandler ; 40: USB
sahilmgandhi 18:6a4db94011d3 78 DCD CAN_IRQHandler ; 41: CAN
sahilmgandhi 18:6a4db94011d3 79 DCD DMA_IRQHandler ; 42: General Purpose DMA
sahilmgandhi 18:6a4db94011d3 80 DCD I2S_IRQHandler ; 43: I2S
sahilmgandhi 18:6a4db94011d3 81 DCD ENET_IRQHandler ; 44: Ethernet
sahilmgandhi 18:6a4db94011d3 82 DCD MCI_IRQHandler ; 45: SD/MMC card I/F
sahilmgandhi 18:6a4db94011d3 83 DCD MCPWM_IRQHandler ; 46: Motor Control PWM
sahilmgandhi 18:6a4db94011d3 84 DCD QEI_IRQHandler ; 47: Quadrature Encoder Interface
sahilmgandhi 18:6a4db94011d3 85 DCD PLL1_IRQHandler ; 48: PLL1 Lock (USB PLL)
sahilmgandhi 18:6a4db94011d3 86 DCD USBActivity_IRQHandler ; 49: USB Activity interrupt to wakeup
sahilmgandhi 18:6a4db94011d3 87 DCD CANActivity_IRQHandler ; 50: CAN Activity interrupt to wakeup
sahilmgandhi 18:6a4db94011d3 88 DCD UART4_IRQHandler ; 51: UART4
sahilmgandhi 18:6a4db94011d3 89 DCD SSP2_IRQHandler ; 52: SSP2
sahilmgandhi 18:6a4db94011d3 90 DCD LCD_IRQHandler ; 53: LCD
sahilmgandhi 18:6a4db94011d3 91 DCD GPIO_IRQHandler ; 54: GPIO
sahilmgandhi 18:6a4db94011d3 92 DCD PWM0_IRQHandler ; 55: PWM0
sahilmgandhi 18:6a4db94011d3 93 DCD EEPROM_IRQHandler ; 56: EEPROM
sahilmgandhi 18:6a4db94011d3 94
sahilmgandhi 18:6a4db94011d3 95
sahilmgandhi 18:6a4db94011d3 96 IF :LNOT::DEF:NO_CRP
sahilmgandhi 18:6a4db94011d3 97 AREA |.ARM.__at_0x02FC|, CODE, READONLY
sahilmgandhi 18:6a4db94011d3 98 CRP_Key DCD 0xFFFFFFFF
sahilmgandhi 18:6a4db94011d3 99 ENDIF
sahilmgandhi 18:6a4db94011d3 100
sahilmgandhi 18:6a4db94011d3 101
sahilmgandhi 18:6a4db94011d3 102 AREA |.text|, CODE, READONLY
sahilmgandhi 18:6a4db94011d3 103
sahilmgandhi 18:6a4db94011d3 104
sahilmgandhi 18:6a4db94011d3 105 ; Reset Handler
sahilmgandhi 18:6a4db94011d3 106
sahilmgandhi 18:6a4db94011d3 107 Reset_Handler PROC
sahilmgandhi 18:6a4db94011d3 108 EXPORT Reset_Handler [WEAK]
sahilmgandhi 18:6a4db94011d3 109 IMPORT SystemInit
sahilmgandhi 18:6a4db94011d3 110 IMPORT __main
sahilmgandhi 18:6a4db94011d3 111 LDR R0, =SystemInit
sahilmgandhi 18:6a4db94011d3 112 BLX R0
sahilmgandhi 18:6a4db94011d3 113 LDR R0, =__main
sahilmgandhi 18:6a4db94011d3 114 BX R0
sahilmgandhi 18:6a4db94011d3 115 ENDP
sahilmgandhi 18:6a4db94011d3 116
sahilmgandhi 18:6a4db94011d3 117
sahilmgandhi 18:6a4db94011d3 118 ; Dummy Exception Handlers (infinite loops which can be modified)
sahilmgandhi 18:6a4db94011d3 119
sahilmgandhi 18:6a4db94011d3 120 NMI_Handler PROC
sahilmgandhi 18:6a4db94011d3 121 EXPORT NMI_Handler [WEAK]
sahilmgandhi 18:6a4db94011d3 122 B .
sahilmgandhi 18:6a4db94011d3 123 ENDP
sahilmgandhi 18:6a4db94011d3 124 HardFault_Handler\
sahilmgandhi 18:6a4db94011d3 125 PROC
sahilmgandhi 18:6a4db94011d3 126 EXPORT HardFault_Handler [WEAK]
sahilmgandhi 18:6a4db94011d3 127 B .
sahilmgandhi 18:6a4db94011d3 128 ENDP
sahilmgandhi 18:6a4db94011d3 129 MemManage_Handler\
sahilmgandhi 18:6a4db94011d3 130 PROC
sahilmgandhi 18:6a4db94011d3 131 EXPORT MemManage_Handler [WEAK]
sahilmgandhi 18:6a4db94011d3 132 B .
sahilmgandhi 18:6a4db94011d3 133 ENDP
sahilmgandhi 18:6a4db94011d3 134 BusFault_Handler\
sahilmgandhi 18:6a4db94011d3 135 PROC
sahilmgandhi 18:6a4db94011d3 136 EXPORT BusFault_Handler [WEAK]
sahilmgandhi 18:6a4db94011d3 137 B .
sahilmgandhi 18:6a4db94011d3 138 ENDP
sahilmgandhi 18:6a4db94011d3 139 UsageFault_Handler\
sahilmgandhi 18:6a4db94011d3 140 PROC
sahilmgandhi 18:6a4db94011d3 141 EXPORT UsageFault_Handler [WEAK]
sahilmgandhi 18:6a4db94011d3 142 B .
sahilmgandhi 18:6a4db94011d3 143 ENDP
sahilmgandhi 18:6a4db94011d3 144 SVC_Handler PROC
sahilmgandhi 18:6a4db94011d3 145 EXPORT SVC_Handler [WEAK]
sahilmgandhi 18:6a4db94011d3 146 B .
sahilmgandhi 18:6a4db94011d3 147 ENDP
sahilmgandhi 18:6a4db94011d3 148 DebugMon_Handler\
sahilmgandhi 18:6a4db94011d3 149 PROC
sahilmgandhi 18:6a4db94011d3 150 EXPORT DebugMon_Handler [WEAK]
sahilmgandhi 18:6a4db94011d3 151 B .
sahilmgandhi 18:6a4db94011d3 152 ENDP
sahilmgandhi 18:6a4db94011d3 153 PendSV_Handler PROC
sahilmgandhi 18:6a4db94011d3 154 EXPORT PendSV_Handler [WEAK]
sahilmgandhi 18:6a4db94011d3 155 B .
sahilmgandhi 18:6a4db94011d3 156 ENDP
sahilmgandhi 18:6a4db94011d3 157 SysTick_Handler PROC
sahilmgandhi 18:6a4db94011d3 158 EXPORT SysTick_Handler [WEAK]
sahilmgandhi 18:6a4db94011d3 159 B .
sahilmgandhi 18:6a4db94011d3 160 ENDP
sahilmgandhi 18:6a4db94011d3 161
sahilmgandhi 18:6a4db94011d3 162 Default_Handler PROC
sahilmgandhi 18:6a4db94011d3 163
sahilmgandhi 18:6a4db94011d3 164 EXPORT WDT_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 165 EXPORT TIMER0_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 166 EXPORT TIMER1_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 167 EXPORT TIMER2_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 168 EXPORT TIMER3_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 169 EXPORT UART0_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 170 EXPORT UART1_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 171 EXPORT UART2_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 172 EXPORT UART3_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 173 EXPORT PWM1_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 174 EXPORT I2C0_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 175 EXPORT I2C1_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 176 EXPORT I2C2_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 177 ;EXPORT SPIFI_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 178 EXPORT SSP0_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 179 EXPORT SSP1_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 180 EXPORT PLL0_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 181 EXPORT RTC_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 182 EXPORT EINT0_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 183 EXPORT EINT1_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 184 EXPORT EINT2_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 185 EXPORT EINT3_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 186 EXPORT ADC_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 187 EXPORT BOD_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 188 EXPORT USB_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 189 EXPORT CAN_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 190 EXPORT DMA_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 191 EXPORT I2S_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 192 EXPORT ENET_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 193 EXPORT MCI_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 194 EXPORT MCPWM_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 195 EXPORT QEI_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 196 EXPORT PLL1_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 197 EXPORT USBActivity_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 198 EXPORT CANActivity_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 199 EXPORT UART4_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 200 EXPORT SSP2_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 201 EXPORT LCD_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 202 EXPORT GPIO_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 203 EXPORT PWM0_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 204 EXPORT EEPROM_IRQHandler [WEAK]
sahilmgandhi 18:6a4db94011d3 205
sahilmgandhi 18:6a4db94011d3 206 WDT_IRQHandler
sahilmgandhi 18:6a4db94011d3 207 TIMER0_IRQHandler
sahilmgandhi 18:6a4db94011d3 208 TIMER1_IRQHandler
sahilmgandhi 18:6a4db94011d3 209 TIMER2_IRQHandler
sahilmgandhi 18:6a4db94011d3 210 TIMER3_IRQHandler
sahilmgandhi 18:6a4db94011d3 211 UART0_IRQHandler
sahilmgandhi 18:6a4db94011d3 212 UART1_IRQHandler
sahilmgandhi 18:6a4db94011d3 213 UART2_IRQHandler
sahilmgandhi 18:6a4db94011d3 214 UART3_IRQHandler
sahilmgandhi 18:6a4db94011d3 215 PWM1_IRQHandler
sahilmgandhi 18:6a4db94011d3 216 I2C0_IRQHandler
sahilmgandhi 18:6a4db94011d3 217 I2C1_IRQHandler
sahilmgandhi 18:6a4db94011d3 218 I2C2_IRQHandler
sahilmgandhi 18:6a4db94011d3 219 ;SPIFI_IRQHandler ;not used
sahilmgandhi 18:6a4db94011d3 220 SSP0_IRQHandler
sahilmgandhi 18:6a4db94011d3 221 SSP1_IRQHandler
sahilmgandhi 18:6a4db94011d3 222 PLL0_IRQHandler
sahilmgandhi 18:6a4db94011d3 223 RTC_IRQHandler
sahilmgandhi 18:6a4db94011d3 224 EINT0_IRQHandler
sahilmgandhi 18:6a4db94011d3 225 EINT1_IRQHandler
sahilmgandhi 18:6a4db94011d3 226 EINT2_IRQHandler
sahilmgandhi 18:6a4db94011d3 227 EINT3_IRQHandler
sahilmgandhi 18:6a4db94011d3 228 ADC_IRQHandler
sahilmgandhi 18:6a4db94011d3 229 BOD_IRQHandler
sahilmgandhi 18:6a4db94011d3 230 USB_IRQHandler
sahilmgandhi 18:6a4db94011d3 231 CAN_IRQHandler
sahilmgandhi 18:6a4db94011d3 232 DMA_IRQHandler
sahilmgandhi 18:6a4db94011d3 233 I2S_IRQHandler
sahilmgandhi 18:6a4db94011d3 234 ENET_IRQHandler
sahilmgandhi 18:6a4db94011d3 235 MCI_IRQHandler
sahilmgandhi 18:6a4db94011d3 236 MCPWM_IRQHandler
sahilmgandhi 18:6a4db94011d3 237 QEI_IRQHandler
sahilmgandhi 18:6a4db94011d3 238 PLL1_IRQHandler
sahilmgandhi 18:6a4db94011d3 239 USBActivity_IRQHandler
sahilmgandhi 18:6a4db94011d3 240 CANActivity_IRQHandler
sahilmgandhi 18:6a4db94011d3 241 UART4_IRQHandler
sahilmgandhi 18:6a4db94011d3 242 SSP2_IRQHandler
sahilmgandhi 18:6a4db94011d3 243 LCD_IRQHandler
sahilmgandhi 18:6a4db94011d3 244 GPIO_IRQHandler
sahilmgandhi 18:6a4db94011d3 245 PWM0_IRQHandler
sahilmgandhi 18:6a4db94011d3 246 EEPROM_IRQHandler
sahilmgandhi 18:6a4db94011d3 247
sahilmgandhi 18:6a4db94011d3 248 B .
sahilmgandhi 18:6a4db94011d3 249
sahilmgandhi 18:6a4db94011d3 250 ENDP
sahilmgandhi 18:6a4db94011d3 251
sahilmgandhi 18:6a4db94011d3 252
sahilmgandhi 18:6a4db94011d3 253 ALIGN
sahilmgandhi 18:6a4db94011d3 254 END