Files
failnix/targets/wasm-tacle/parallel/DEBIE/code/arch/arm7-lpc2138-mam/crt0.s

54 lines
811 B
ArmAsm

/* vector table section
* __ASYST_STACK_TOP is defined in lcf file
*/
.code 32
.extern __ASYST_STACK_TOP
/* startup
* initialize mode
* initialize stack pointer
* jump to __asyst_main in crt_asyst.c
*/
.section .text, "ax"
.global __asyst_start
__asyst_start:
mrs r0, cpsr
bic r0, r0, #0x1F /* clear mode flags */
orr r0, r0, #0x10 /* set user mode */
msr cpsr, r0
/* Initialize MAM to Mode 2, 7 cycles flash: */
ldr r0,_MAMCR
ldr r1,_MAMTIM
ldr r2,=0
str r2,[r0]
ldr r2,=7
str r2,[r1]
ldr r2,=2
str r2,[r0]
ldr sp,_Lstack_top
bl __asyst_main
/* constants */
_MAMCR:
.long 0xe01fc000 /* Address of MAM Control Register. */
_MAMTIM:
.long 0xe01fc004 /* Address of MAM Timing register. */
_Lstack_top:
.long __ASYST_STACK_TOP
.end