version 1.1, 2007/11/08 22:07:04 |
version 1.6, 2007/11/12 21:56:12 |
|
|
_vector_reset: |
_vector_reset: |
/* |
/* |
* Will enter here just right after RESET. |
* Will enter here just right after RESET. |
* Set up stack and call main. |
* Relocate .data & .bss into SRAM, set up stack and call main. |
*/ |
*/ |
|
|
|
/* load .data addr */ |
|
ldr r1, Aflash_sdata |
|
|
|
/* load end of FLASH */ |
|
ldr r2, Aflash_edata |
|
|
|
/* will copy data in sram starting from that addr */ |
|
ldr r3, Asram_sdata |
|
|
/* |
/* |
|
* Copy data in sram |
|
*/ |
|
loop: |
|
ldr r4, [r1], #4 /* fetch from flash, increment flash_sdata */ |
|
str r4, [r3], #4 /* store to sram, increment sram_sdata */ |
|
cmp r1, r2 /* compare with flash_edata */ |
|
blo loop |
|
|
|
/* |
* Setup an IRQ stack |
* Setup an IRQ stack |
*/ |
*/ |
/* switch into irq mode with interrupts disabled */ |
/* switch into irq mode with interrupts disabled */ |
|
|
_vector_fiq: |
_vector_fiq: |
nop |
nop |
|
|
|
Aflash_sdata: |
|
.word 0x0000f000 |
|
|
|
Aflash_edata: |
|
.word 0x0000ffff |
|
|
|
Asram_sdata: |
|
.word 0x00200000 |
|
|
/* last word of the physical memory */ |
/* last word of the physical memory */ |
Asysstack: |
Asysstack: |
.word 0x01fffffc |
.word 0x00203fff |
|
|
Airqstack: |
Airqstack: |
.word 0x01fff000 |
.word 0x00203c00 |
|
|