Mercurial > ecos
diff packages/hal/arm/arch/current/src/vectors.S @ 24:306eee292492 ecos-sw-1999-07-16
Merge from eCos master repository on 1999-07-16-05:47:06-BST
| author | jlarmour |
|---|---|
| date | Fri, 16 Jul 1999 21:54:32 +0000 |
| parents | 5f5102441818 |
| children | 4741a3c3496a |
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/src/vectors.S +++ b/packages/hal/arm/arch/current/src/vectors.S @@ -78,6 +78,10 @@ .file "vectors.S" + +.macro LED x +.endm + //========================================================================== // Hardware exception vectors. @@ -124,6 +128,8 @@ reset_vector: beq start #endif + LED 7 + PLATFORM_SETUP1 // Early stage platform initialization // see <cyg/hal/hal_platform_setup.h> @@ -139,6 +145,9 @@ reset_vector: // Ugly hack to get into supervisor mode ldr r2,[r1,#0x40] str r2,[r0,#0x28] + + LED 6 + swi // switch to supervisor mode #endif @@ -146,7 +155,9 @@ reset_vector: // Real startup code. We jump here from the reset vector to set up the world. .globl start start: - + + LED 5 + #if defined(CYG_HAL_STARTUP_RAM) && \ !defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS) // If we get restarted, hang here to avoid corrupting memory @@ -186,6 +197,8 @@ 10: ldr r2,[r1,#0x30] str r2,[r0,#0x30] + LED 4 + #if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_STUBS) // Relocate [copy] data from ROM to RAM ldr r3,.__rom_data_start @@ -236,9 +249,13 @@ 1: str r0,[r1],#4 2: + LED 3 + // Call platform specific hardware initialization bl hal_hardware_init + LED 2 + // Run through static constructors bl cyg_hal_invoke_constructors @@ -246,6 +263,8 @@ 2: bl initialize_stub #endif + LED 7 + // This starts up the eCos kernel bl cyg_start _start_hang: @@ -689,7 +708,11 @@ PTR(__interrupt_stack) // Interrupt vector tables. // These tables contain the isr, data and object pointers used to deliver // interrupts to user code. - + +// Despite appearances, their sizes are not #defines, but .equ symbols +// generated by magic without proper dependencies in arm.inc +// Recompiling will not DTRT without manual intervention. + .data init_flag:
