CL-PS7111
Low-Power System-on-a-Chip
;
set little endian,32bit code, 32bit data
LDR r0, =InitialMmuConfig
MCR ArmMmuCP,0,r0,ArmMmuControl,c0
;
set the cpu to SVC32 mode
MRS r0,CPSR
;read psw
BIC r0, r0,#ArmMaskMode;remove the mode
ORR r0, r0,#ArmSVCMode;set to supervisory 32 bit mode
MSR CPSR,r0
;
;
initialize HW control
UARTEnable
ldr
r12,=HwBaseAddress
mov
r0,#HwControlUartEnable
;Enable UART
str
r0,[r12,#HwControl]
ldr
r1,=HwStatus2
add
r1,r1,r12
ldr
r2,[r1];read system flag2
tst
r2,#CLKMOD
ldreq r0,=UartValue;load 18 mhz value if bit not set
ldrne r0,=UartValue_13;load 13 mhz value if bit set
str
r0,[r12,#HwUartControl];initialise Uart
;
Send ready signal
ldr
r0,=startflag
strb r0,[r12,#HwUartData];send ready
;
receive the data
ldr
r3,=count
ldr
r2,=BufferAddress
September 1997
PRELIMINARY DATA BOOK v2.0
97
APPENDIX A–BOOT CODE