CMSIS2000  0.0.7
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
startup_LPC2xxx.S File Reference
#include "startup_lpc_stack_generic.h"
Include dependency graph for startup_LPC2xxx.S:

Go to the source code of this file.

Macros

#define __PORT_ARM_MODE_MAIN__   0
#define ABT_STACK_SIZE   0x00000000 /* stack for "abort" interrupts is 0 bytes */
#define CPU_PIPELINE_STAGES   3 /*to calculate offset*/
#define F_BIT   0x40 /*when F bit is set, FIQ is disabled (program status registers)*/
#define FIQ_STACK_SIZE   0x00000000 /* stack for "FIQ" interrupts is 0 bytes */
#define I_BIT   0x80 /*when I bit is set, IRQ is disabled (program status registers)*/
#define i_MCU_MODEL   2103
#define INSTRUCTION_SIZE   4 /*to calculate offset*/
#define IRQ_STACK_SIZE   0x00000100 /* stack for "IRQ" normal interrupts is 0x100 bytes */
#define MODE_ABT   0x17 /* Abort Processing memory Faults Mode */
#define MODE_FIQ   0x11 /* FIQ Processing Fast Interrupts Mode */
#define MODE_IRQ   0x12 /* IRQ Processing Standard Interrupts Mode */
#define MODE_SVC   0x13 /* Supervisor Processing Software Interrupts Mode */
#define MODE_SYS   0x1F /* System Running Priviledged Operating System Tasks Mode*/
#define MODE_UND   0x1B /* Undefined Processing Undefined Instructions Mode */
#define MODE_USR   0x10 /* Normal User Mode */
#define port_HAS_COMMON_IRQ_HANDLER   0
#define port_SELF_COPY_VECTORS   0
#define SVC_STACK_SIZE   0x00000008 /* stack for "SVC" supervisor mode is 4 bytes */
#define TO_STRING_STRP(x)   TO_STRING_STRP2(x)
#define TO_STRING_STRP2(x)   #x
#define UND_STACK_SIZE   0x00000000 /*stack for "undefined instruction" interrupts is 0 bytes */

Variables

global _mainCRTStartup
global _start
section text ax code arm align
global _vectors global
__isr_vector global
_vectors_start global
_vectors_end global start func
_vectors 
_vectors
PC MOV PC BX R4 ADDNE R14 CMP
R6 R7 LDRLO STRLO BLO l1 MOV
R10 STRLO BLO l2 SUB MSR 
CPSR_c
weak ExitFromMain_Handler type ExitFromMain_Handler
PC MOV PC BX R4 ADDNE R14 CMP R6 l1
PC MOV PC BX R4 ADDNE R14 CMP
R6 R7 LDRLO STRLO BLO l1 MOV 
l2
PC MOV PC BX R4 ld_data_here
global endless_loop load_table_here
PC MOV PC BX R4 ADDNE R14 CMP
R6 R7 LDRLO STRLO BLO l1 MOV
R10 STRLO BLO l2 SUB MSR MOV
R0 MSR MOV R0 MSR MOV R0 MSR
MOV R0 MSR SUB MOV 
LR
section text ax code arm align
global _vectors global
__isr_vector global
_vectors_start global
_vectors_end global start func
_vectors Undef_Addr LDR 
PC
set PORT_ARM_MAIN_MODE
global endless_loop LDM R0
section text ax code arm align
global _vectors global
__isr_vector global
_vectors_start global
_vectors_end global start func
_vectors Undef_Addr LDR
SWI_Addr LDR PAbt_Addr LDR
DAbt_Addr word LDR LDR
FIQ_Addr BEQ STORE_MEMMAP LDR 
R13
section text ax code arm align
global _vectors global
__isr_vector global
_vectors_start global
_vectors_end global start func
_vectors Undef_Addr LDR
SWI_Addr LDR PAbt_Addr LDR
DAbt_Addr word LDR LDR
FIQ_Addr BEQ STORE_MEMMAP LDR
R13 MOVNE LSR CMPNE 
R14
PC MOV PC BX R4 ADDNE R5
section text ax code arm align
global _vectors global
__isr_vector global
_vectors_start global
_vectors_end global start func
_vectors Undef_Addr LDR
SWI_Addr LDR PAbt_Addr LDR
DAbt_Addr word LDR LDR
FIQ_Addr 
RES_Addr
global Reset_Handler
PC MOV PC BX R4 ADDNE R14 CMP
R6 R7 LDRLO STRLO BLO l1 MOV
R10 STRLO BLO l2 SUB 
SP
LSR STORE_MEMMAP
section text vectors

Macro Definition Documentation

#define __PORT_ARM_MODE_MAIN__   0

Definition at line 91 of file startup_LPC2xxx.S.

#define ABT_STACK_SIZE   0x00000000 /* stack for "abort" interrupts is 0 bytes */

Definition at line 67 of file startup_LPC2xxx.S.

#define CPU_PIPELINE_STAGES   3 /*to calculate offset*/

Definition at line 116 of file startup_LPC2xxx.S.

#define F_BIT   0x40 /*when F bit is set, FIQ is disabled (program status registers)*/

Definition at line 81 of file startup_LPC2xxx.S.

#define FIQ_STACK_SIZE   0x00000000 /* stack for "FIQ" interrupts is 0 bytes */

Definition at line 70 of file startup_LPC2xxx.S.

#define I_BIT   0x80 /*when I bit is set, IRQ is disabled (program status registers)*/

Definition at line 80 of file startup_LPC2xxx.S.

#define i_MCU_MODEL   2103

Definition at line 106 of file startup_LPC2xxx.S.

#define INSTRUCTION_SIZE   4 /*to calculate offset*/

Definition at line 117 of file startup_LPC2xxx.S.

#define IRQ_STACK_SIZE   0x00000100 /* stack for "IRQ" normal interrupts is 0x100 bytes */

Definition at line 73 of file startup_LPC2xxx.S.

#define MODE_ABT   0x17 /* Abort Processing memory Faults Mode */

Definition at line 87 of file startup_LPC2xxx.S.

#define MODE_FIQ   0x11 /* FIQ Processing Fast Interrupts Mode */

Definition at line 84 of file startup_LPC2xxx.S.

#define MODE_IRQ   0x12 /* IRQ Processing Standard Interrupts Mode */

Definition at line 85 of file startup_LPC2xxx.S.

#define MODE_SVC   0x13 /* Supervisor Processing Software Interrupts Mode */

Definition at line 86 of file startup_LPC2xxx.S.

#define MODE_SYS   0x1F /* System Running Priviledged Operating System Tasks Mode*/

Definition at line 89 of file startup_LPC2xxx.S.

#define MODE_UND   0x1B /* Undefined Processing Undefined Instructions Mode */

Definition at line 88 of file startup_LPC2xxx.S.

#define MODE_USR   0x10 /* Normal User Mode */

Definition at line 83 of file startup_LPC2xxx.S.

#define port_HAS_COMMON_IRQ_HANDLER   0

Definition at line 113 of file startup_LPC2xxx.S.

#define port_SELF_COPY_VECTORS   0

Definition at line 110 of file startup_LPC2xxx.S.

#define SVC_STACK_SIZE   0x00000008 /* stack for "SVC" supervisor mode is 4 bytes */

Definition at line 76 of file startup_LPC2xxx.S.

#define TO_STRING_STRP (   x)    TO_STRING_STRP2(x)

Definition at line 38 of file startup_LPC2xxx.S.

#define TO_STRING_STRP2 (   x)    #x

Definition at line 37 of file startup_LPC2xxx.S.

#define UND_STACK_SIZE   0x00000000 /*stack for "undefined instruction" interrupts is 0 bytes */

Definition at line 64 of file startup_LPC2xxx.S.

Variable Documentation

global _mainCRTStartup

Definition at line 241 of file startup_LPC2xxx.S.

global endless_loop _start

Definition at line 241 of file startup_LPC2xxx.S.

section text ax code arm align global _vectors global __isr_vector global _vectors_start global _vectors_end global start func _vectors _vectors

Definition at line 119 of file startup_LPC2xxx.S.

PC MOV PC BX R4 ADDNE R14 CMP R6 R7 LDRLO STRLO BLO l1 MOV R10 STRLO BLO l2 SUB MSR MOV R0 MSR MOV R0 MSR MOV R0 MSR MOV R0 MSR CPSR_c

Definition at line 241 of file startup_LPC2xxx.S.

weak ExitFromMain_Handler type ExitFromMain_Handler

Definition at line 49 of file startup_LPC2xxx.S.

PC MOV PC BX R4 ADDNE R14 CMP R6 l1

Definition at line 241 of file startup_LPC2xxx.S.

PC MOV PC BX R4 ADDNE R14 CMP R6 R7 LDRLO STRLO BLO l1 MOV l2

Definition at line 241 of file startup_LPC2xxx.S.

PC MOV PC BX R4 ld_data_here

Definition at line 241 of file startup_LPC2xxx.S.

global endless_loop load_table_here

Definition at line 241 of file startup_LPC2xxx.S.

PC MOV PC BX R4 ADDNE R14 CMP R6 R7 LDRLO STRLO BLO l1 MOV R10 STRLO BLO l2 SUB MSR MOV R0 MSR MOV R0 MSR MOV R0 MSR MOV R0 MSR SUB MOV LR

Definition at line 241 of file startup_LPC2xxx.S.

PC MOV PC BX R4 PC

Definition at line 119 of file startup_LPC2xxx.S.

set PORT_ARM_MAIN_MODE

Definition at line 101 of file startup_LPC2xxx.S.

PC MOV PC BX R4 ADDNE R14 CMP R6 R7 LDRLO STRLO BLO l1 MOV R10 STRLO BLO l2 SUB MSR MOV R0 MSR MOV R0 MSR MOV R0 MSR MOV R0 MSR SUB R0

Definition at line 241 of file startup_LPC2xxx.S.

section text ax code arm align global _vectors global __isr_vector global _vectors_start global _vectors_end global start func _vectors Undef_Addr LDR SWI_Addr LDR PAbt_Addr LDR DAbt_Addr word LDR LDR FIQ_Addr BEQ STORE_MEMMAP LDR R13 MOVNE R13

Definition at line 119 of file startup_LPC2xxx.S.

PC MOV R14

Definition at line 206 of file startup_LPC2xxx.S.

PC MOV PC BX R4 ADDNE R14 CMP R5

Definition at line 241 of file startup_LPC2xxx.S.

section text ax code arm align global _vectors global __isr_vector global _vectors_start global _vectors_end global start func _vectors Undef_Addr LDR SWI_Addr LDR PAbt_Addr LDR DAbt_Addr word LDR LDR FIQ_Addr RES_Addr
Note
By the way FIQ_HANDLER can be runned right here instead of ldr PC, FIQ_Addr

Definition at line 119 of file startup_LPC2xxx.S.

global Reset_Handler

Definition at line 241 of file startup_LPC2xxx.S.

PC MOV PC BX R4 ADDNE R14 CMP R6 R7 LDRLO STRLO BLO l1 MOV R10 STRLO BLO l2 SUB MSR MOV R0 MSR MOV R0 MSR MOV R0 MSR MOV R0 MSR SUB SP

Definition at line 241 of file startup_LPC2xxx.S.

LSR STORE_MEMMAP

Definition at line 206 of file startup_LPC2xxx.S.

section text vectors

Definition at line 119 of file startup_LPC2xxx.S.