Mercurial > nand-ecoscentric
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 |
