arch/s3c2440/head.S File Reference

Go to the source code of this file.

Functions

Main 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 OSStartHighRdy Os
starts to run highest priority
task OSCtxSw Os task level
context switch OSIntCtxSw Os
interrupt level context switch
OS_ENTER_CRITICAL Enter os
critical section
OS_EXIT_CRITICAL Exit os
critical section exception
handle::globl HandleReset
globl HandleUndef globl
HandleSWI globl HandlePabort
globl HandleDabort globl
HandleReserved globl HandleIRQ
globl HandleFIQ irq handle
globl HandleEINT0 globl
HandleEINT1 globl HandleEINT2
globl HandleEINT3 globl
HandleEINT4_7 globl
HandleEINT8_23 globl HandleCAM
globl HandleBATFLT globl
HandleTICK globl HandleWDT
globl HandleTimer0 globl
HandleTimer1 globl
HandleTimer2 globl
HandleTimer3 globl
HandleTimer4 globl HandleUART2
globl HandleLCD globl
HandleDMA0 globl HandleDMA1
globl HandleDMA2 globl
HandleDMA3 globl HandleMMC
globl HandleTICK globl
HandleSPI0 globl HandleUART1
globl HandleNFCON globl
HandleUSBD globl HandleUSBH
globl HandleIIC globl
HandleUART0 globl HandleSPI1
globl HandleRTC globl
HandleADC equ SystemStack
x33ff4800 equ SVCStack
x33ff5800 equ UndefStack
x33ff5c00 equ AbortStack
x33ff6000 equ IRQStack
x33ff7000 equ FIQStack
x33ff8000 equ USERMODE x10 equ
FIQMODE x11 equ IRQMODE x12
equ SVCMODE x13 equ ABORTMODE
x17 equ UNDEFMODE x1b equ
SYSTEMMODE x1f equ MODEMASK
x1f equ NOINT xc0 
ENTRY (_start) ENTRY(ResetEntryPoint)@Exception vector table(physical address=0x00000000) ldr pc

Variables

Main 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 OSStartHighRdy Os
starts to run highest priority
task OSCtxSw Os task level
context switch OSIntCtxSw Os
interrupt level context switch
OS_ENTER_CRITICAL Enter os
critical section
OS_EXIT_CRITICAL Exit os
critical section exception
handle::globl HandleReset
globl HandleUndef globl
HandleSWI globl HandlePabort
globl HandleDabort globl
HandleReserved globl HandleIRQ
globl HandleFIQ irq handle
globl HandleEINT0 globl
HandleEINT1 globl HandleEINT2
globl HandleEINT3 globl
HandleEINT4_7 globl
HandleEINT8_23 globl HandleCAM
globl HandleBATFLT globl
HandleTICK globl HandleWDT
globl HandleTimer0 globl
HandleTimer1 globl
HandleTimer2 globl
HandleTimer3 globl
HandleTimer4 globl HandleUART2
globl HandleLCD globl
HandleDMA0 globl HandleDMA1
globl HandleDMA2 globl
HandleDMA3 globl HandleMMC
globl HandleTICK globl
HandleSPI0 globl HandleUART1
globl HandleNFCON globl
HandleUSBD globl HandleUSBH
globl HandleIIC globl
HandleUART0 globl HandleSPI1
globl HandleRTC globl
HandleADC equ SystemStack
x33ff4800 equ SVCStack
x33ff5800 equ UndefStack
x33ff5c00 equ AbortStack
x33ff6000 equ IRQStack
x33ff7000 equ FIQStack
x33ff8000 equ USERMODE x10 equ
FIQMODE x11 equ IRQMODE x12
equ SVCMODE x13 equ ABORTMODE
x17 equ UNDEFMODE x1b equ
SYSTEMMODE x1f equ MODEMASK
x1f equ NOINT xc0
ExceptionVectors ldr 
pc
Main 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 OSStartHighRdy Os
starts to run highest priority
task OSCtxSw Os task level
context switch OSIntCtxSw Os
interrupt level context switch
OS_ENTER_CRITICAL Enter os
critical section
OS_EXIT_CRITICAL Exit os
critical section exception
handle::globl HandleReset
globl HandleUndef globl
HandleSWI globl HandlePabort
globl HandleDabort globl
HandleReserved globl HandleIRQ
globl HandleFIQ irq handle
globl HandleEINT0 globl
HandleEINT1 globl HandleEINT2
globl HandleEINT3 globl
HandleEINT4_7 globl
HandleEINT8_23 globl HandleCAM
globl HandleBATFLT globl
HandleTICK globl HandleWDT
globl HandleTimer0 globl
HandleTimer1 globl
HandleTimer2 globl
HandleTimer3 globl
HandleTimer4 globl HandleUART2
globl HandleLCD globl
HandleDMA0 globl HandleDMA1
globl HandleDMA2 globl
HandleDMA3 globl HandleMMC
globl HandleTICK globl
HandleSPI0 globl HandleUART1
globl HandleNFCON globl
HandleUSBD globl HandleUSBH
globl HandleIIC globl
HandleUART0 globl HandleSPI1
globl HandleRTC globl
HandleADC equ SystemStack
x33ff4800 equ SVCStack
x33ff5800 equ UndefStack
x33ff5c00 equ AbortStack
x33ff6000 equ IRQStack
x33ff7000 equ FIQStack
x33ff8000 equ USERMODE x10 equ
FIQMODE x11 equ IRQMODE x12
equ SVCMODE x13 equ ABORTMODE
x17 equ UNDEFMODE x1b equ
SYSTEMMODE x1f equ MODEMASK
x1f equ NOINT xc0
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors VIVI magics 
long
Main 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 OSStartHighRdy Os
starts to run highest priority
task OSCtxSw Os task level
context switch OSIntCtxSw Os
interrupt level context switch
OS_ENTER_CRITICAL Enter os
critical section
OS_EXIT_CRITICAL Exit os
critical section exception
handle::globl HandleReset
globl HandleUndef globl
HandleSWI globl HandlePabort
globl HandleDabort globl
HandleReserved globl HandleIRQ
globl HandleFIQ irq handle
globl HandleEINT0 globl
HandleEINT1 globl HandleEINT2
globl HandleEINT3 globl
HandleEINT4_7 globl
HandleEINT8_23 globl HandleCAM
globl HandleBATFLT globl
HandleTICK globl HandleWDT
globl HandleTimer0 globl
HandleTimer1 globl
HandleTimer2 globl
HandleTimer3 globl
HandleTimer4 globl HandleUART2
globl HandleLCD globl
HandleDMA0 globl HandleDMA1
globl HandleDMA2 globl
HandleDMA3 globl HandleMMC
globl HandleTICK globl
HandleSPI0 globl HandleUART1
globl HandleNFCON globl
HandleUSBD globl HandleUSBH
globl HandleIIC globl
HandleUART0 globl HandleSPI1
globl HandleRTC globl
HandleADC equ SystemStack
x33ff4800 equ SVCStack
x33ff5800 equ UndefStack
x33ff5c00 equ AbortStack
x33ff6000 equ IRQStack
x33ff7000 equ FIQStack
x33ff8000 equ USERMODE x10 equ
FIQMODE x11 equ IRQMODE x12
equ SVCMODE x13 equ ABORTMODE
x17 equ UNDEFMODE x1b equ
SYSTEMMODE x1f equ MODEMASK
x1f equ NOINT xc0
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors VIVI magics
cpu and machine id 
lr
Main 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 OSStartHighRdy Os
starts to run highest priority
task OSCtxSw Os task level
context switch OSIntCtxSw Os
interrupt level context switch
OS_ENTER_CRITICAL Enter os
critical section
OS_EXIT_CRITICAL Exit os
critical section exception
handle::globl HandleReset
globl HandleUndef globl
HandleSWI globl HandlePabort
globl HandleDabort globl
HandleReserved globl HandleIRQ
globl HandleFIQ irq handle
globl HandleEINT0 globl
HandleEINT1 globl HandleEINT2
globl HandleEINT3 globl
HandleEINT4_7 globl
HandleEINT8_23 globl HandleCAM
globl HandleBATFLT globl
HandleTICK globl HandleWDT
globl HandleTimer0 globl
HandleTimer1 globl
HandleTimer2 globl
HandleTimer3 globl
HandleTimer4 globl HandleUART2
globl HandleLCD globl
HandleDMA0 globl HandleDMA1
globl HandleDMA2 globl
HandleDMA3 globl HandleMMC
globl HandleTICK globl
HandleSPI0 globl HandleUART1
globl HandleNFCON globl
HandleUSBD globl HandleUSBH
globl HandleIIC globl
HandleUART0 globl HandleSPI1
globl HandleRTC globl
HandleADC equ SystemStack
x33ff4800 equ SVCStack
x33ff5800 equ UndefStack
x33ff5c00 equ AbortStack
x33ff6000 equ IRQStack
x33ff7000 equ FIQStack
x33ff8000 equ USERMODE x10 equ
FIQMODE x11 equ IRQMODE x12
equ SVCMODE x13 equ ABORTMODE
x17 equ UNDEFMODE x1b equ
SYSTEMMODE x1f equ MODEMASK
x1f equ NOINT xc0
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors ldr
ExceptionVectors VIVI magics
cpu and machine id stmfd 
sp
lr into stack ldr r0
lr into stack ldr OSIntNesting add r1
cpsr msr spsr_cxsf
cpsr msr r0 Let spsr
cpsr msr r0 Let add lsl ldr
call irq hook function 
HandlerIrqExit
cpsr msr r0 Let add lsl ldr
call irq hook function cpsr
orr msr 
cpsr_cxsf
cpsr msr r0 Let add lsl ldr
call irq hook function cpsr
orr msr r0 disable 
irq
mov r2
mov str mov mov str ldr myplace
mov str mov mov str ldr mvn
str mov ldr 
clkdivn_value
mov str mov mov str ldr mvn
str mov ldr mrc 
p15
mov str mov mov str ldr mvn
str mov ldr mrc 
c1
mov str mov mov str ldr mvn
str mov ldr mrc 
c0
mov str mov mov str ldr mvn
str mov ldr mrc read ctrl
register orr mcr write ctrl
register mov ldr
mpll_value_USER clock user 
set
mov str mov mov str ldr mvn
str mov ldr mrc read ctrl
register orr mcr write ctrl
register mov ldr
mpll_value_USER clock user bl
memsetup set memory access
parameters Check if this is a
wake up from sleep ldr
PMST_ADDR ldr tst bne
WakeupStart mov add ldr cpsr
bic orr msr r1 UndefMode ldr
msr r1 AbortMode ldr msr r1
IRQMode ldr msr r1 FIQMode ldr
msr r1 SVCMode ldr msr r1
SVCMode ldr nop 
nop
mov str mov mov str ldr mvn
str mov ldr mrc read ctrl
register orr mcr write ctrl
register mov ldr
mpll_value_USER clock user bl
memsetup set memory access
parameters Check if this is a
wake up from sleep ldr
PMST_ADDR ldr tst bne
WakeupStart mov add ldr cpsr
bic orr msr r1 UndefMode ldr
msr r1 AbortMode ldr msr r1
IRQMode ldr msr r1 FIQMode ldr
msr r1 SVCMode ldr msr r1
SVCMode ldr nop DW_STACK_START
setup stack pointer mov 
fp
mov str mov mov str ldr mvn
str mov ldr mrc read ctrl
register orr mcr write ctrl
register mov ldr
mpll_value_USER clock user bl
memsetup set memory access
parameters Check if this is a
wake up from sleep ldr
PMST_ADDR ldr tst bne
WakeupStart mov add ldr cpsr
bic orr msr r1 UndefMode ldr
msr r1 AbortMode ldr msr r1
IRQMode ldr msr r1 FIQMode ldr
msr r1 SVCMode ldr msr r1
SVCMode ldr nop DW_STACK_START
setup stack pointer mov mov 
a2
mov str mov mov str ldr mvn
str mov ldr mrc read ctrl
register orr mcr write ctrl
register mov ldr
mpll_value_USER clock user bl
memsetup set memory access
parameters Check if this is a
wake up from sleep ldr
PMST_ADDR ldr tst bne
WakeupStart mov add ldr cpsr
bic orr msr r1 UndefMode ldr
msr r1 AbortMode ldr msr r1
IRQMode ldr msr r1 FIQMode ldr
msr r1 SVCMode ldr msr r1
SVCMode ldr nop DW_STACK_START
setup stack pointer mov mov bl
Main call main b mov PMST_ADDR
mov str Release the SDRAM
signal protections ldr
PMCTL1_ADDR ldr bic str Go ldr
PMSR0_ADDR read a return
address ldr mov r1 nop
REFR_ADDR ldr orr str wait
until SDRAM into self refresh
mov bne Set the SDRAM singal
protections ldr PMCTL1_ADDR
ldr orr str ldr rx error 
report
mov str mov mov str ldr mvn
str mov ldr mrc read ctrl
register orr mcr write ctrl
register mov ldr
mpll_value_USER clock user bl
memsetup set memory access
parameters Check if this is a
wake up from sleep ldr
PMST_ADDR ldr tst bne
WakeupStart mov add ldr cpsr
bic orr msr r1 UndefMode ldr
msr r1 AbortMode ldr msr r1
IRQMode ldr msr r1 FIQMode ldr
msr r1 SVCMode ldr msr r1
SVCMode ldr nop DW_STACK_START
setup stack pointer mov mov bl
Main call main b mov PMST_ADDR
mov str Release the SDRAM
signal protections ldr
PMCTL1_ADDR ldr bic str Go ldr
PMSR0_ADDR read a return
address ldr mov r1 nop
REFR_ADDR ldr orr str wait
until SDRAM into self refresh
mov bne Set the SDRAM singal
protections ldr PMCTL1_ADDR
ldr orr str ldr rx error 
tx
mov str mov mov str ldr mvn
str mov ldr mrc read ctrl
register orr mcr write ctrl
register mov ldr
mpll_value_USER clock user bl
memsetup set memory access
parameters Check if this is a
wake up from sleep ldr
PMST_ADDR ldr tst bne
WakeupStart mov add ldr cpsr
bic orr msr r1 UndefMode ldr
msr r1 AbortMode ldr msr r1
IRQMode ldr msr r1 FIQMode ldr
msr r1 SVCMode ldr msr r1
SVCMode ldr nop DW_STACK_START
setup stack pointer mov mov bl
Main call main b mov PMST_ADDR
mov str Release the SDRAM
signal protections ldr
PMCTL1_ADDR ldr bic str Go ldr
PMSR0_ADDR read a return
address ldr mov r1 nop
REFR_ADDR ldr orr str wait
until SDRAM into self refresh
mov bne Set the SDRAM singal
protections ldr PMCTL1_ADDR
ldr orr str ldr rx error rx
ldr PMCTL0_ADDR ldr orr str
PMCTL0_ADDR ldr All LED
onUART0_CTL_BASE mov add ldr
mov str mov str adrl
mem_cfg_val add 
r3
mov str mov mov str ldr mvn
str mov ldr mrc read ctrl
register orr mcr write ctrl
register mov ldr
mpll_value_USER clock user bl
memsetup set memory access
parameters Check if this is a
wake up from sleep ldr
PMST_ADDR ldr tst bne
WakeupStart mov add ldr cpsr
bic orr msr r1 UndefMode ldr
msr r1 AbortMode ldr msr r1
IRQMode ldr msr r1 FIQMode ldr
msr r1 SVCMode ldr msr r1
SVCMode ldr nop DW_STACK_START
setup stack pointer mov mov bl
Main call main b mov PMST_ADDR
mov str Release the SDRAM
signal protections ldr
PMCTL1_ADDR ldr bic str Go ldr
PMSR0_ADDR read a return
address ldr mov r1 nop
REFR_ADDR ldr orr str wait
until SDRAM into self refresh
mov bne Set the SDRAM singal
protections ldr PMCTL1_ADDR
ldr orr str ldr rx error rx
ldr PMCTL0_ADDR ldr orr str
PMCTL0_ADDR ldr All LED
onUART0_CTL_BASE mov add ldr
mov str mov str adrl
mem_cfg_val add str 
r4
mov str mov mov str ldr mvn
str mov ldr mrc read ctrl
register orr mcr write ctrl
register mov ldr
mpll_value_USER clock user bl
memsetup set memory access
parameters Check if this is a
wake up from sleep ldr
PMST_ADDR ldr tst bne
WakeupStart mov add ldr cpsr
bic orr msr r1 UndefMode ldr
msr r1 AbortMode ldr msr r1
IRQMode ldr msr r1 FIQMode ldr
msr r1 SVCMode ldr msr r1
SVCMode ldr nop DW_STACK_START
setup stack pointer mov mov bl
Main call main b mov PMST_ADDR
mov str Release the SDRAM
signal protections ldr
PMCTL1_ADDR ldr bic str Go ldr
PMSR0_ADDR read a return
address ldr mov r1 nop
REFR_ADDR ldr orr str wait
until SDRAM into self refresh
mov bne Set the SDRAM singal
protections ldr PMCTL1_ADDR
ldr orr str ldr rx error rx
ldr PMCTL0_ADDR ldr orr str
PMCTL0_ADDR ldr All LED
onUART0_CTL_BASE mov add ldr
mov str mov str adrl
mem_cfg_val add str cmp r3 bne
mov lr nandflash bootcode
loader 
copy_myself
ldr ldr ldr ldr ldr ldr mov
strb mov cmp 
blt
add mov str teq beq ok_nand_read bad_nand_read
add mov str teq beq
ok_nand_read STR_FAIL ldr
SerBase bl PrintWord mov bl 
PrintChar
add mov str teq beq
ok_nand_read STR_FAIL ldr
SerBase bl PrintWord mov bl
mov sl ldr 
go_next
add mov str teq beq
ok_nand_read STR_FAIL ldr
SerBase bl PrintWord mov bl
mov sl ldr ldr teq r4 bne
notmatch subs beq
done_nand_read bne go_next 
notmatch
bgt mov lr clear memory mov r2
mov r2 mov 
r5
bgt mov lr clear memory mov r2
mov r2 mov r2 mov 
r6
bgt mov lr clear memory mov r2
mov r2 mov r2 mov r2 mov 
r7
bgt mov lr clear memory mov r2
mov r2 mov r2 mov r2 mov r2
mov 
r8
bgt mov lr clear memory mov r2
mov r2 mov r2 mov r2 mov r2
mov r2 mov 
r9
bgt mov lr clear memory mov r2
mov r2 mov r2 mov r2 mov r2
mov r2 mov r2 
clear_loop
modifies r2 TODO
modifies r2 SerBase


Function Documentation

Main 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 OSStartHighRdy Os starts to run highest priority task OSCtxSw Os task level context switch OSIntCtxSw Os interrupt level context switch OS_ENTER_CRITICAL Enter os critical section OS_EXIT_CRITICAL Exit os critical section exception handle ::globl HandleReset globl HandleUndef globl HandleSWI globl HandlePabort globl HandleDabort globl HandleReserved globl HandleIRQ globl HandleFIQ irq handle globl HandleEINT0 globl HandleEINT1 globl HandleEINT2 globl HandleEINT3 globl HandleEINT4_7 globl HandleEINT8_23 globl HandleCAM globl HandleBATFLT globl HandleTICK globl HandleWDT globl HandleTimer0 globl HandleTimer1 globl HandleTimer2 globl HandleTimer3 globl HandleTimer4 globl HandleUART2 globl HandleLCD globl HandleDMA0 globl HandleDMA1 globl HandleDMA2 globl HandleDMA3 globl HandleMMC globl HandleTICK globl HandleSPI0 globl HandleUART1 globl HandleNFCON globl HandleUSBD globl HandleUSBH globl HandleIIC globl HandleUART0 globl HandleSPI1 globl HandleRTC globl HandleADC equ SystemStack x33ff4800 equ SVCStack x33ff5800 equ UndefStack x33ff5c00 equ AbortStack x33ff6000 equ IRQStack x33ff7000 equ FIQStack x33ff8000 equ USERMODE x10 equ FIQMODE x11 equ IRQMODE x12 equ SVCMODE x13 equ ABORTMODE x17 equ UNDEFMODE x1b equ SYSTEMMODE x1f equ MODEMASK x1f equ NOINT xc0 ENTRY ( _start   )  [final, pure virtual]


Variable Documentation

mov str mov mov str ldr mvn str mov ldr mrc read ctrl register orr mcr write ctrl register mov ldr mpll_value_USER clock user bl memsetup set memory access parameters Check if this is a wake up from sleep ldr PMST_ADDR ldr tst bne WakeupStart mov add ldr cpsr bic orr msr r1 UndefMode ldr msr r1 AbortMode ldr msr r1 IRQMode ldr msr r1 FIQMode ldr msr r1 SVCMode ldr msr r1 SVCMode ldr nop DW_STACK_START setup stack pointer mov mov a2

Definition at line 250 of file head.S.

add mov str teq beq ok_nand_read bad_nand_read

Definition at line 404 of file head.S.

ldr ldr ldr ldr ldr ldr mov strb mov cmp blt

Definition at line 364 of file head.S.

mov str mov mov str ldr mvn str mov ldr mrc read ctrl register orr mcr c0

Definition at line 186 of file head.S.

mov str mov mov str ldr mvn str mov ldr mrc read ctrl register orr mcr c1

Definition at line 186 of file head.S.

bgt mov lr clear memory mov r2 mov r2 mov r2 mov r2 mov r2 mov r2 mov r2 clear_loop

Definition at line 435 of file head.S.

mov str mov mov str ldr mvn str mov ldr clkdivn_value

Definition at line 186 of file head.S.

mov str mov mov str ldr mvn str mov ldr mrc read ctrl register orr mcr write ctrl register mov ldr mpll_value_USER clock user bl memsetup set memory access parameters Check if this is a wake up from sleep ldr PMST_ADDR ldr tst bne WakeupStart mov add ldr cpsr bic orr msr r1 UndefMode ldr msr r1 AbortMode ldr msr r1 IRQMode ldr msr r1 FIQMode ldr msr r1 SVCMode ldr msr r1 SVCMode ldr nop DW_STACK_START setup stack pointer mov mov bl Main call main b mov PMST_ADDR mov str Release the SDRAM signal protections ldr PMCTL1_ADDR ldr bic str Go ldr PMSR0_ADDR read a return address ldr mov r1 nop REFR_ADDR ldr orr str wait until SDRAM into self refresh mov bne Set the SDRAM singal protections ldr PMCTL1_ADDR ldr orr str ldr rx error rx ldr PMCTL0_ADDR ldr orr str PMCTL0_ADDR ldr All LED onUART0_CTL_BASE mov add ldr mov str mov str adrl mem_cfg_val add str cmp r3 bne mov lr nandflash bootcode loader copy_myself

Definition at line 326 of file head.S.

msr cpsr_cxsf

Definition at line 145 of file head.S.

mov str mov mov str ldr mvn str mov ldr mrc read ctrl register orr mcr write ctrl register mov ldr mpll_value_USER clock user bl memsetup set memory access parameters Check if this is a wake up from sleep ldr PMST_ADDR ldr tst bne WakeupStart mov add ldr cpsr bic orr msr r1 UndefMode ldr msr r1 AbortMode ldr msr r1 IRQMode ldr msr r1 FIQMode ldr msr r1 SVCMode ldr msr r1 SVCMode ldr nop DW_STACK_START setup stack pointer mov fp

Definition at line 250 of file head.S.

add mov str teq beq ok_nand_read STR_FAIL ldr SerBase bl PrintWord mov bl mov sl ldr go_next

Definition at line 435 of file head.S.

cpsr msr r0 Let add lsl ldr call irq hook function HandlerIrqExit

Definition at line 145 of file head.S.

cpsr msr r0 Let add lsl ldr call irq hook function cpsr orr msr r0 disable irq

Definition at line 145 of file head.S.

Main 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 OSStartHighRdy Os starts to run highest priority task OSCtxSw Os task level context switch OSIntCtxSw Os interrupt level context switch OS_ENTER_CRITICAL Enter os critical section OS_EXIT_CRITICAL Exit os critical section exception handle::globl HandleReset globl HandleUndef globl HandleSWI globl HandlePabort globl HandleDabort globl HandleReserved globl HandleIRQ globl HandleFIQ irq handle globl HandleEINT0 globl HandleEINT1 globl HandleEINT2 globl HandleEINT3 globl HandleEINT4_7 globl HandleEINT8_23 globl HandleCAM globl HandleBATFLT globl HandleTICK globl HandleWDT globl HandleTimer0 globl HandleTimer1 globl HandleTimer2 globl HandleTimer3 globl HandleTimer4 globl HandleUART2 globl HandleLCD globl HandleDMA0 globl HandleDMA1 globl HandleDMA2 globl HandleDMA3 globl HandleMMC globl HandleTICK globl HandleSPI0 globl HandleUART1 globl HandleNFCON globl HandleUSBD globl HandleUSBH globl HandleIIC globl HandleUART0 globl HandleSPI1 globl HandleRTC globl HandleADC equ SystemStack x33ff4800 equ SVCStack x33ff5800 equ UndefStack x33ff5c00 equ AbortStack x33ff6000 equ IRQStack x33ff7000 equ FIQStack x33ff8000 equ USERMODE x10 equ FIQMODE x11 equ IRQMODE x12 equ SVCMODE x13 equ ABORTMODE x17 equ UNDEFMODE x1b equ SYSTEMMODE x1f equ MODEMASK x1f equ NOINT xc0 ExceptionVectors ldr ExceptionVectors ldr ExceptionVectors ldr ExceptionVectors ldr ExceptionVectors ldr ExceptionVectors ldr ExceptionVectors ldr ExceptionVectors VIVI magics cpu and machine id long

Definition at line 95 of file head.S.

lr into stack ldr OSIntNesting add strb OSIntNesting ldr lr

Definition at line 95 of file head.S.

mov str mov mov str ldr myplace

Definition at line 186 of file head.S.

mov str mov mov str ldr mvn str mov ldr mrc read ctrl register orr mcr write ctrl register mov ldr mpll_value_USER clock user bl memsetup set memory access parameters Check if this is a wake up from sleep ldr PMST_ADDR ldr tst bne WakeupStart mov add ldr cpsr bic orr msr r1 UndefMode ldr msr r1 AbortMode ldr msr r1 IRQMode ldr msr r1 FIQMode ldr msr r1 SVCMode ldr msr r1 SVCMode ldr nop DW_STACK_START setup stack pointer mov mov bl Main call main b mov PMST_ADDR mov str Release the SDRAM signal protections ldr PMCTL1_ADDR ldr bic str Go ldr PMSR0_ADDR read a return address ldr mov r1 nop nop

Definition at line 250 of file head.S.

add mov str teq beq ok_nand_read STR_FAIL ldr SerBase bl PrintWord mov bl mov sl ldr ldr teq r4 bne notmatch subs beq done_nand_read bne go_next notmatch

Definition at line 435 of file head.S.

mov str mov mov str ldr mvn str mov ldr mrc read ctrl register orr mcr p15

Definition at line 186 of file head.S.

modifies r2 tst beq str mov pc

Definition at line 95 of file head.S.

void PrintChar

Definition at line 404 of file head.S.

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

Initial value:

 number of UART port
InitUART:
    stmfd   sp!

Definition at line 95 of file head.S.

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

Definition at line 135 of file head.S.

modifies r2 tst r2

Definition at line 174 of file head.S.

mov str mov mov r3

Definition at line 326 of file head.S.

bgt mov lr clear memory mov r2 mov r4

Definition at line 326 of file head.S.

bgt mov lr clear memory mov r2 mov r2 mov r5

Definition at line 435 of file head.S.

bgt mov lr clear memory mov r2 mov r2 mov r2 mov r6

Definition at line 435 of file head.S.

bgt mov lr clear memory mov r2 mov r2 mov r2 mov r2 mov r7

Definition at line 435 of file head.S.

bgt mov lr clear memory mov r2 mov r2 mov r2 mov r2 mov r2 mov r8

Definition at line 435 of file head.S.

bgt mov lr clear memory mov r2 mov r2 mov r2 mov r2 mov r2 mov r2 mov r9

Definition at line 435 of file head.S.

add ldr gpio_con_uart str ldr gpio_up_uart str ldr SerBase mov str str mov str ldr rx error report

Definition at line 309 of file head.S.

modifies r2 SerBase

Definition at line 515 of file head.S.

mov str mov mov str ldr mvn str mov ldr mrc read ctrl register orr mcr write ctrl register mov ldr mpll_value_USER clock user set

Definition at line 186 of file head.S.

r0 ldmfd sp

Definition at line 95 of file head.S.

cpsr msr r0 Let spsr

Initial value:

cpsr
    ldr    r0

Definition at line 143 of file head.S.

cpsr msr spsr_cxsf

Definition at line 139 of file head.S.

modifies r2 TODO

Definition at line 515 of file head.S.

add ldr gpio_con_uart str ldr gpio_up_uart str ldr SerBase mov str str mov str ldr rx error tx

Definition at line 309 of file head.S.


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