os_core/os_cpu_a.S File Reference

Go to the source code of this file.

Functions

OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ equ equ
equ equ equ equ equ equ equ 
ENTRY (OS_CPU_A) OS_ENTER_CRITICAL

Variables

OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ 
USERMODE
OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ equ 
FIQMODE
OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ equ equ 
IRQMODE
OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ equ equ
equ 
SVCMODE
OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ equ equ
equ equ 
ABORTMODE
OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ equ equ
equ equ equ 
UNDEFMODE
OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ equ equ
equ equ equ equ 
SYSTEMMODE
OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ equ equ
equ equ equ equ equ 
MODEMASK
OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ equ equ
equ equ equ equ equ equ 
NOINT
OSTCBCur current task control
block pointer OSTCBHighRdy
next task control block
pointer OSPrioCur current task
id OSPrioHighRdy next task id
OSIntNesting nested interrupt
counter OSRunning operation
system running flag globl
OSStartHighRdy Os starts to
run highest priority task
globl OSCtxSw Os task level
context switch globl
OSIntCtxSw Os interrupt level
context switch globl
OS_ENTER_CRITICAL Enter os
critical section globl
OS_EXIT_CRITICAL Exit os
critical section equ equ equ
equ equ equ equ equ equ equ 
NOFIQ
mrs r0
mrs cpsr orr msr cpsr_cxsf
mrs cpsr orr msr r0 ldmfd sp
strb r1
 LR
PC OSCtxSw
str OSTCBCur
str strb ldr str L_TaskSwitchOn
PC OSIntCtxSw
lr keep irq mode lr in r0 msr cpsr_c
last byte for task stack
backup ldr str update stack
pointer to os_tcb ldr strb ldr
str 
L_IntSwitchOn


Function Documentation

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ equ equ equ equ equ equ equ equ equ ENTRY ( OS_CPU_A   ) 

Type Constraints

Definition at line 38 of file os_cpu_a.S.

00039                  :
00040         stmfd   sp!,{r0,lr}


Variable Documentation

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ equ equ equ equ ABORTMODE

Definition at line 16 of file libs.S.

lr keep irq mode lr in r0 msr cpsr_c

Definition at line 81 of file os_cpu_a.S.

msr cpsr_cxsf

Definition at line 41 of file os_cpu_a.S.

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ equ FIQMODE

Definition at line 16 of file libs.S.

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ equ equ IRQMODE

Definition at line 16 of file libs.S.

last byte for task stack backup ldr str update stack pointer to os_tcb ldr strb ldr str L_IntSwitchOn

Definition at line 120 of file os_cpu_a.S.

str strb ldr str L_TaskSwitchOn

Definition at line 81 of file os_cpu_a.S.

LR

Definition at line 57 of file os_cpu_a.S.

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ equ equ equ equ equ equ equ MODEMASK

Definition at line 16 of file libs.S.

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ equ equ equ equ equ equ equ equ equ NOFIQ

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ equ equ equ equ equ equ equ equ NOINT

Definition at line 16 of file libs.S.

PC OSCtxSw

Definition at line 57 of file os_cpu_a.S.

Definition at line 81 of file os_cpu_a.S.

str OSTCBCur

Initial value:

SP. sp is stack pointer of task go switching off

        ldr     r0

Definition at line 73 of file os_cpu_a.S.

last byte for task stack backup ldr str update stack pointer to os_tcb ldr strb ldr r0

Definition at line 41 of file os_cpu_a.S.

last byte for task stack backup ldr str update stack pointer to os_tcb ldr strb ldr str r1

Definition at line 54 of file os_cpu_a.S.

r0 ldmfd sp

Definition at line 41 of file os_cpu_a.S.

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ equ equ equ SVCMODE

Definition at line 16 of file libs.S.

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ equ equ equ equ equ equ SYSTEMMODE

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ equ equ equ equ equ UNDEFMODE

Definition at line 16 of file libs.S.

OSTCBCur current task control block pointer OSTCBHighRdy next task control block pointer OSPrioCur current task id OSPrioHighRdy next task id OSIntNesting nested interrupt counter OSRunning operation system running flag globl OSStartHighRdy Os starts to run highest priority task globl OSCtxSw Os task level context switch globl OSIntCtxSw Os interrupt level context switch globl OS_ENTER_CRITICAL Enter os critical section globl OS_EXIT_CRITICAL Exit os critical section equ USERMODE

Definition at line 16 of file libs.S.


Generated on Tue Sep 2 08:45:42 2008 for A Simple operation System using S3C2410 by  doxygen 1.5.6