OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [CORTEX_LM3Sxxxx_Rowley/] [LM3S_Startup.s] - Blame information for rev 597

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 581 jeremybenn
/*****************************************************************************
2
 * Copyright (c) 2006 Rowley Associates Limited.                             *
3
 *                                                                           *
4
 * This file may be distributed under the terms of the License Agreement     *
5
 * provided with this software.                                              *
6
 *                                                                           *
7
 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE   *
8
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. *
9
 *****************************************************************************/
10
 
11
/*****************************************************************************
12
 *                           Preprocessor Definitions
13
 *                           ------------------------
14
 *
15
 * STARTUP_FROM_RESET
16
 *
17
 *   If defined, the program will startup from power-on/reset. If not defined
18
 *   the program will just loop endlessly from power-on/reset.
19
 *
20
 *   This definition is not defined by default on this target because the
21
 *   debugger is unable to reset this target and maintain control of it over the
22
 *   JTAG interface. The advantage of doing this is that it allows the debugger
23
 *   to reset the CPU and run programs from a known reset CPU state on each run.
24
 *   It also acts as a safety net if you accidently download a program in FLASH
25
 *   that crashes and prevents the debugger from taking control over JTAG
26
 *   rendering the target unusable over JTAG. The obvious disadvantage of doing
27
 *   this is that your application will not startup without the debugger.
28
 *
29
 *   We advise that on this target you keep STARTUP_FROM_RESET undefined whilst
30
 *   you are developing and only define STARTUP_FROM_RESET when development is
31
 *   complete.
32
 *
33
 *****************************************************************************/
34
 
35
.extern xPortPendSVHandler
36
.extern xPortSysTickHandler
37
.extern vPortSVCHandler
38
.extern Timer0IntHandler
39
.extern vT2InterruptHandler
40
.extern vT3InterruptHandler
41
.extern vEMAC_ISR
42
 
43
 
44
.global reset_handler
45
 
46
.macro DEFAULT_ISR_HANDLER name=
47
  .thumb_func
48
  .weak \name
49
\name:
50
1: b 1b /* endless loop */
51
.endm
52
 
53
  .section .vectors, "ax"
54
  .code 16
55
  .align 0
56
  .global _vectors
57
 
58
_vectors:
59
  .word __stack_end__
60
#ifdef STARTUP_FROM_RESET
61
  .word reset_handler
62
#else
63
  .word reset_wait
64
#endif /* STARTUP_FROM_RESET */
65
  .word Nmi_ISR
66
  .word Fault_ISR
67
  .word MPU_Fault_ISR
68
  .word 0  /* Populate if using Bus fault */
69
  .word 0  /* Populate if using Usage fault */
70
  .word 0  /* Reserved */
71
  .word 0  /* Reserved */
72
  .word 0  /* Reserved */
73
  .word 0  /* Reserved */
74
  .word vPortSVCHandler
75
  .word 0  /* Populate if using a debug monitor */
76
  .word 0  /* Reserved */
77
  .word xPortPendSVHandler
78
  .word xPortSysTickHandler
79
  .word GPIO_Port_A_ISR
80
  .word GPIO_Port_B_ISR
81
  .word GPIO_Port_C_ISR
82
  .word GPIO_Port_D_ISR
83
  .word GPIO_Port_E_ISR
84
  .word UART0_ISR
85
  .word UART1_ISR
86
  .word SSI_ISR
87
  .word I2C_ISR
88
  .word PWM_Fault_ISR
89
  .word PWM_Generator_0_ISR
90
  .word PWM_Generator_1_ISR
91
  .word PWM_Generator_2_ISR
92
  .word QEI_ISR
93
  .word ADC_Sequence_0_ISR
94
  .word ADC_Sequence_1_ISR
95
  .word ADC_Sequence_2_ISR
96
  .word ADC_Sequence_3_ISR
97
  .word Watchdog_Timer_ISR
98
  .word Timer0IntHandler
99
  .word Timer0B_ISR
100
  .word Timer1A_ISR
101
  .word Timer1B_ISR
102
  .word vT2InterruptHandler
103
  .word Timer2B_ISR
104
  .word Analog_Comparator_0_ISR
105
  .word Analog_Comparator_1_ISR
106
  .word Analog_Comparator_2_ISR
107
  .word System_Control_ISR
108
  .word FLASH_Control_ISR
109
  .word GPIO_Port_F_ISR
110
  .word GPIO_Port_G_ISR
111
  .word GPIO_Port_H_ISR
112
  .word UART2_ISR
113
  .word SSI1_ISR
114
  .word vT3InterruptHandler
115
  .word Timer3B_ISR
116
  .word I2C1_ISR
117
  .word QEI1_ISR
118
  .word CAN0_ISR
119
  .word CAN1_ISR
120
  .word CAN2_ISR
121
  .word vEMAC_ISR
122
  .word HIBERNATE_ISR
123
  .word USB0_ISR
124
  .word PWM_Generator_3_ISR
125
  .word uDMA_Software_Transfer_ISR
126
  .word uDMA_Error_ISR
127
_vectors_end:
128
 
129
  .section .init, "ax"
130
  .thumb_func
131
 
132
reset_handler:
133
#ifdef __RAM_BUILD
134
  /* If this is a RAM build, configure vector table offset register to point
135
     to the RAM vector table. */
136
  ldr r0, =0xE000ED08
137
  ldr r1, =_vectors
138
  str r1, [r0]
139
#endif
140
  b _start
141
 
142
DEFAULT_ISR_HANDLER Nmi_ISR
143
DEFAULT_ISR_HANDLER Fault_ISR
144
DEFAULT_ISR_HANDLER MPU_Fault_ISR
145
DEFAULT_ISR_HANDLER SVCall_ISR
146
DEFAULT_ISR_HANDLER SysTick_ISR
147
DEFAULT_ISR_HANDLER PendSV_ISR
148
DEFAULT_ISR_HANDLER GPIO_Port_A_ISR
149
DEFAULT_ISR_HANDLER GPIO_Port_B_ISR
150
DEFAULT_ISR_HANDLER GPIO_Port_C_ISR
151
DEFAULT_ISR_HANDLER GPIO_Port_D_ISR
152
DEFAULT_ISR_HANDLER GPIO_Port_E_ISR
153
DEFAULT_ISR_HANDLER UART0_ISR
154
DEFAULT_ISR_HANDLER UART1_ISR
155
DEFAULT_ISR_HANDLER SSI_ISR
156
DEFAULT_ISR_HANDLER I2C_ISR
157
DEFAULT_ISR_HANDLER PWM_Fault_ISR
158
DEFAULT_ISR_HANDLER PWM_Generator_0_ISR
159
DEFAULT_ISR_HANDLER PWM_Generator_1_ISR
160
DEFAULT_ISR_HANDLER PWM_Generator_2_ISR
161
DEFAULT_ISR_HANDLER QEI_ISR
162
DEFAULT_ISR_HANDLER ADC_Sequence_0_ISR
163
DEFAULT_ISR_HANDLER ADC_Sequence_1_ISR
164
DEFAULT_ISR_HANDLER ADC_Sequence_2_ISR
165
DEFAULT_ISR_HANDLER ADC_Sequence_3_ISR
166
DEFAULT_ISR_HANDLER Watchdog_Timer_ISR
167
DEFAULT_ISR_HANDLER Timer0A_ISR
168
DEFAULT_ISR_HANDLER Timer0B_ISR
169
DEFAULT_ISR_HANDLER Timer1A_ISR
170
DEFAULT_ISR_HANDLER Timer1B_ISR
171
DEFAULT_ISR_HANDLER Timer2A_ISR
172
DEFAULT_ISR_HANDLER Timer2B_ISR
173
DEFAULT_ISR_HANDLER Analog_Comparator_0_ISR
174
DEFAULT_ISR_HANDLER Analog_Comparator_1_ISR
175
DEFAULT_ISR_HANDLER Analog_Comparator_2_ISR
176
DEFAULT_ISR_HANDLER System_Control_ISR
177
DEFAULT_ISR_HANDLER FLASH_Control_ISR
178
DEFAULT_ISR_HANDLER GPIO_Port_F_ISR
179
DEFAULT_ISR_HANDLER GPIO_Port_G_ISR
180
DEFAULT_ISR_HANDLER GPIO_Port_H_ISR
181
DEFAULT_ISR_HANDLER UART2_ISR
182
DEFAULT_ISR_HANDLER SSI1_ISR
183
DEFAULT_ISR_HANDLER Timer3A_ISR
184
DEFAULT_ISR_HANDLER Timer3B_ISR
185
DEFAULT_ISR_HANDLER I2C1_ISR
186
DEFAULT_ISR_HANDLER QEI1_ISR
187
DEFAULT_ISR_HANDLER CAN0_ISR
188
DEFAULT_ISR_HANDLER CAN1_ISR
189
DEFAULT_ISR_HANDLER CAN2_ISR
190
DEFAULT_ISR_HANDLER ETHERNET_ISR
191
DEFAULT_ISR_HANDLER HIBERNATE_ISR
192
DEFAULT_ISR_HANDLER USB0_ISR
193
DEFAULT_ISR_HANDLER PWM_Generator_3_ISR
194
DEFAULT_ISR_HANDLER uDMA_Software_Transfer_ISR
195
DEFAULT_ISR_HANDLER uDMA_Error_ISR
196
 
197
#ifndef STARTUP_FROM_RESET
198
DEFAULT_ISR_HANDLER reset_wait
199
#endif /* STARTUP_FROM_RESET */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.