comparison packages/hal/arm/arch/current/src/vectors.S @ 36:e97d78785e2d ecos-sw-1999-09-12

Merge from eCos master repository on 1999-09-12-15:40:34-BST
author jlarmour
date Sun, 12 Sep 1999 15:26:05 +0000
parents 29bc183297e1
children e7ba79f6d3a8
comparison
equal deleted inserted replaced
35:d722a005a6c3 36:e97d78785e2d
138 138
139 mov r0,#0 // move vectors 139 mov r0,#0 // move vectors
140 // We cannot perform a store until after PLATFORM_SETUP1 140 // We cannot perform a store until after PLATFORM_SETUP1
141 str r0, [r0,#0x40] // DRAM size to zero => unknown 141 str r0, [r0,#0x40] // DRAM size to zero => unknown
142 ldr r1,.__exception_handlers 142 ldr r1,.__exception_handlers
143 #ifndef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
144 // Wait with this if stubs are included (see further down).
143 ldr r2,[r1,#0x04] // undefined instruction 145 ldr r2,[r1,#0x04] // undefined instruction
144 str r2,[r0,#0x04] 146 str r2,[r0,#0x04]
145 ldr r2,[r1,#0x24] 147 ldr r2,[r1,#0x24]
146 str r2,[r0,#0x24] 148 str r2,[r0,#0x24]
149 #endif
147 ldr r2,[r1,#0x08] // software interrupt 150 ldr r2,[r1,#0x08] // software interrupt
148 str r2,[r0,#0x08] 151 str r2,[r0,#0x08]
149 #if defined(CYG_HAL_STARTUP_RAM) 152 #if defined(CYG_HAL_STARTUP_RAM)
150 // Ugly hack to get into supervisor mode 153 // Ugly hack to get into supervisor mode
151 ldr r2,[r1,#0x40] 154 ldr r2,[r1,#0x40]
152 str r2,[r0,#0x28] 155 str r2,[r0,#0x28]
153 156
154 LED 6 157 LED 6
155 158
257 LED 3 260 LED 3
258 261
259 // Call platform specific hardware initialization 262 // Call platform specific hardware initialization
260 bl hal_hardware_init 263 bl hal_hardware_init
261 264
265 #ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
266 bl initialize_stub
267
268 // Now that stub is initialized, change vector. It is possible
269 // to single-step through most of the init code, except the below.
270 // Put a breakpoint at the call to cyg_hal_invoke_constructors to
271 // pass over this bit (s-s depends on internal state in the stub).
272 mov r0,#0 // move vectors
273 ldr r1,=__exception_handlers
274 ldr r2,[r1,#0x04] // undefined instruction
275 str r2,[r0,#0x04]
276 ldr r2,[r1,#0x24]
277 str r2,[r0,#0x24]
278 #endif
279
262 LED 2 280 LED 2
263 281
264 // Run through static constructors 282 // Run through static constructors
265 bl cyg_hal_invoke_constructors 283 bl cyg_hal_invoke_constructors
266
267 #ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
268 bl initialize_stub
269 #endif
270 284
271 LED 1 285 LED 1
272 286
273 // This starts up the eCos kernel 287 // This starts up the eCos kernel
274 bl cyg_start 288 bl cyg_start