📄 boot.lst
字号:
ARM Macro Assembler Page 1
1 00000000
2 00000000
3 00000000 ;*$Id: boot.s, 2009/01/12 23:30:12 huguangfu Exp $ */
4 00000000 ;*******************************************************
*****************
5 00000000 ; *
6 00000000 ; * Title :boot.s
7 00000000 ; *
8 00000000 ; * Summary :boot
9 00000000 ; *
10 00000000 ; * Author :hgf
11 00000000 ; *
12 00000000 ; * Date :2009-01-12
13 00000000 ; *
14 00000000 ; * Copyright (c) Pioneer Corporation
15 00000000 ; *
16 00000000 ;*******************************************************
******************/
17 00000000 ;define the size of stack
18 00000000 0000020C
USR_STACK_LEGTH
EQU 0x20c
19 00000000 00000020
SVC_STACK_LEGTH
EQU 0x20
20 00000000 00000000
FIQ_STACK_LEGTH
EQU 0
21 00000000 00001000
IRQ_STACK_LEGTH
EQU 0x1000
22 00000000 00000000
ABT_STACK_LEGTH
EQU 0
23 00000000 00000000
UND_STACK_LEGTH
EQU 0
24 00000000
25 00000000 00000080
NoInt EQU 0x80
26 00000000
27 00000000 00000010
USR32Mode
EQU 0x10
28 00000000 00000013
SVC32Mode
EQU 0x13
29 00000000 0000001F
SYS32Mode
EQU 0x1f
30 00000000 00000012
IRQ32Mode
EQU 0x12
31 00000000 00000011
FIQ32Mode
EQU 0x11
32 00000000
33 00000000 GET sfr.inc
1 00000000 ;*$Id: sfr.inc,v 1.1 2008/03/06 04:34:25 xuhongliang Exp
ARM Macro Assembler Page 2
$ */
2 00000000 ;*******************************************************
*****************
3 00000000 ; *
4 00000000 ; * Title :sfr.inc
5 00000000 ; *
6 00000000 ; * Summary :sfr
7 00000000 ; *
8 00000000 ; * Author :xhl
9 00000000 ; *
10 00000000 ; * Date :2008-03-04
11 00000000 ; *
12 00000000 ; * Copyright (c) Pioneer Corporation
13 00000000 ; *
14 00000000 ;*******************************************************
******************/
15 00000000 ;SMC configuration registers
16 00000000 10100000
SMC_DBWCR
EQU 0x10100000
17 00000000 10100004
SMC_EDWCR
EQU 0x10100004
18 00000000 10100008
SMC_WSCR
EQU 0x10100008
19 00000000
20 00000000 10100010
SMC_TAREA
EQU 0x10100010
21 00000000 10100014
SMC_TACSR
EQU 0x10100014
22 00000000 10100018
SMC_TCOSR
EQU 0x10100018
23 00000000 1010001C
SMC_TCOHR
EQU 0x1010001C
24 00000000
25 00000000
26 00000000 ;Decoder(HOSTIF)
27 00000000 ;SYSTEM
28 00000000 ;VIDEO
29 00000000 101C0240
VIDEO_SDR_INDEX
EQU 0x101c0240
30 00000000 101C0244
VIDEO_SDRAM_MODE
EQU 0x101c0244
31 00000000 101C0248
VIDEO_SDCLK_MODE
EQU 0x101c0248
32 00000000 101C024C
VIDEO_SDDQSO_MODE
EQU 0x101c024c
33 00000000 101C0250
VIDEO_SDDQSEN_MODE
EQU 0x101c0250
ARM Macro Assembler Page 3
34 00000000 101C0254
VIDEO_SDDQI_MODE
EQU 0x101c0254
35 00000000 101C0258
VIDEO_PON_SEQ
EQU 0x101c0258
36 00000000 101C025C
VIDEO_REF_SET
EQU 0x101c025c
37 00000000
38 00000000
39 00000000 101C02C0
VIDEO_RESET
EQU 0x101c02c0
40 00000000
41 00000000 ;APB CORE
42 00000000 ;System controller
43 00000000
44 00000000 101E0000
APB_SCCTRL
EQU 0x101e0000
45 00000000 101E0004
APB_SCSYSSTAT
EQU 0x101e0004
46 00000000 101E0008
APB_SCIMCTRL
EQU 0x101e0008
47 00000000 101E000C
APB_SCIMSTAT
EQU 0x101e000C
48 00000000 101E0014
APB_SCPLLCTRL
EQU 0x101e0014
49 00000000 101E0018
APB_SCPLLFCTRL
EQU 0x101e0018
50 00000000 101E001C
APB_SCPERCTRL0
EQU 0x101e001C
51 00000000 101E0020
APB_SCPERCTRL1
EQU 0x101e0020
52 00000000 101E0024
APB_SCPEREN
EQU 0x101e0024
53 00000000 101E0028
APB_SCPERDIS
EQU 0x101e0028
54 00000000 101E002C
APB_SCPERCLKEN
EQU 0x101e002C
55 00000000 101E0030
APB_SCPERSTAT
EQU 0x101e0030
56 00000000
57 00000000 101E0100
APB_MCIINS
EQU 0x101e0100
58 00000000 101E0104
ARM Macro Assembler Page 4
APB_MCIINSE
EQU 0x101e0104
59 00000000 101E0108
APB_MCIINSS
EQU 0x101e0108
60 00000000 101E010C
APB_MCIIC
EQU 0x101e010C
61 00000000 101E0110
APB_MCIWP
EQU 0x101e0110
62 00000000 101E0114
APB_MCIWEN
EQU 0x101e0114
63 00000000 101E0118
APB_MCICLKEN
EQU 0x101e0118
64 00000000
65 00000000 101E0180
APB_CLR_HOSTIF
EQU 0x101e0180
66 00000000
67 00000000 ;Uart Base address
68 00000000 101F2000
UART0_BASE_ADDR
EQU 0x101f2000
69 00000000 101F3000
UART1_BASE_ADDR
EQU 0x101f3000
70 00000000 101F4000
UART2_BASE_ADDR
EQU 0x101f4000
71 00000000 101F5000
UART3_BASE_ADDR
EQU 0x101f5000
72 00000000
73 00000000 00000000
UARTDR EQU 0x00
74 00000000 00000004
UARTRSR_ECR
EQU 0x04
75 00000000 00000018
UARTFR EQU 0x18
76 00000000 00000020
UARTILPR
EQU 0x20
77 00000000 00000024
UARTIBRD
EQU 0x24
78 00000000 00000028
UARTFBRD
EQU 0x28
79 00000000 0000002C
UARTLCR_H
EQU 0x2c
80 00000000 00000030
UARTCR EQU 0x30
81 00000000 00000034
UARTIFLS
ARM Macro Assembler Page 5
EQU 0x34
82 00000000 00000038
UARTIMSC
EQU 0x38
83 00000000 0000003C
UARTRIS EQU 0x3c
84 00000000 00000040
UARTMIS EQU 0x40
85 00000000 00000044
UARTICR EQU 0x44
86 00000000 00000048
UARTDMACR
EQU 0x48
87 00000000
88 00000000
89 00000000 END
34 00000000 IMPORT __main ;The entry of C lib
rary
35 00000000
36 00000000
37 00000000 IMPORT irq_vector
38 00000000 IMPORT fiq_vector
39 00000000 IMPORT InitUart
40 00000000 IMPORT ||Image$$ARM_LIB_STACK$$ZI$$Lim
it||
41 00000000 IMPORT ||Image$$ARM_LIB_STACK$$Base||
42 00000000 IMPORT InitMMU
43 00000000
44 00000000
45 00000000 EXPORT Reset
46 00000000
47 00000000
48 00000000 PRESERVE8
49 00000000 CODE32
50 00000000
51 00000000 AREA vectors,CODE,READONLY
52 00000000 ENTRY
53 00000000
54 00000000 ;Interrupt vectors
55 00000000 Reset
56 00000000 E59FF018 LDR PC, ResetAddr
57 00000004 E59FF018 LDR PC, UndefinedAddr
58 00000008 E59FF018 LDR PC, SWI_Addr
59 0000000C E59FF018 LDR PC, PrefetchAddr
60 00000010 E59FF018 LDR PC, DataAbortAddr
61 00000014 E1A00000 DCD 0xe1a00000 ;nop
62 00000018 E59FF018 LDR PC, IRQ_Addr
63 0000001C E59FF018 LDR PC, FIQ_Addr
64 00000020
65 00000020
66 00000020 00000000
ResetAddr
DCD ResetInit
67 00000024 00000000
UndefinedAddr
DCD Undefined
68 00000028 00000000
SWI_Addr
DCD SoftwareInterrupt
ARM Macro Assembler Page 6
69 0000002C 00000000
PrefetchAddr
DCD PrefetchAbort
70 00000030 00000000
DataAbortAddr
DCD DataAbort
71 00000034 00000000
Nouse DCD 0
72 00000038 ;IRQ_Addr DCD irq_vector
73 00000038 00000000
IRQ_Addr
DCD irq_asm_vector
74 0000003C 00000000
FIQ_Addr
DCD fiq_vector
75 00000040
76 00000040
77 00000040
78 00000040 ;Undefined Instruction
79 00000040 Undefined
80 00000040 EAFFFFFE B Undefined
81 00000044
82 00000044 ;SWI
83 00000044 SoftwareInterrupt
84 00000044 EAFFFFFE B SoftwareInterrupt
85 00000048
86 00000048
87 00000048 ;PrefetchAbort
88 00000048 PrefetchAbort
89 00000048 EAFFFFFE B PrefetchAbort
90 0000004C
91 0000004C ;Data Abort
92 0000004C DataAbort
93 0000004C EAFFFFFE B DataAbort
94 00000050
95 00000050
96 00000050 irq_asm_vector
97 00000050 E24EE004 SUB lr, lr, #4
98 00000054 E92D5FFF STMFD sp!, {r0-r12, lr} ;push r0-r12
register file and l
r( pc return addres
s )
99 00000058 E14F4000 MRS r4, spsr
100 0000005C E92D0010 STMFD sp!, {r4} ;push current spsr_
irq ( =cpsr_svc )
101 00000060
102 00000060 E59F01F4 ldr r0, =0x10140000
103 00000064 E5904030 ldr r4, [r0, #48]
104 00000068 E3A00000 mov r0, #&0
105 0000006C
106 0000006C E59F11E8 ldr r1, =0x10140000
107 00000070 E5810030 str r0, [r1, #48]
108 00000074 E3540000 cmp r4, #&0
109 00000078 0A000000 beq _nottimerisr
110 0000007C E12FFF34 blx r4
111 00000080
112 00000080 _nottimerisr
113 00000080 E8BD0010 LDMFD sp!, {r4} ;get cpsr_svc from
stack
ARM Macro Assembler Page 7
114 00000084 E16FF004 MSR SPSR_cxsf, r4 ;prepare spsr to
return svc mode
115 00000088 E8FD9FFF LDMFD sp!, {r0-r12, pc}^
116 0000008C
117 0000008C ;*******************************************************
**********
118 0000008C ;*
119 0000008C ;* Function Name
120 0000008C ;* ResetInit
121 0000008C ;* Inputs
122 0000008C ;* None
123 0000008C ;* Outputs
124 0000008C ;* None
125 0000008C ;* Return Codes
126 0000008C ;* None
127 0000008C ;* Description
128 0000008C ;* This funtion reset route
129 0000008C ;* Date:
130 0000008C ;* 2008-03-04
131 0000008C ;*******************************************************
**********/
132 0000008C ResetInit
133 0000008C EB000004 BL SystemCtrl ;the system config
134 00000090 WarmReset
135 00000090 EB00003D BL InitStack ;init the stack of
system
136 00000094 EBFFFFFE BL InitUart
137 00000098 EB000049 BL CopyIntVector ;copy Interrupt v
ector to sdram
138 0000009C EBFFFFFE BL InitMMU
139 000000A0 EAFFFFFE B __main
140 000000A4
141 000000A4
142 000000A4
143 000000A4 ;*******************************************************
**********
144 000000A4 ;*
145 000000A4 ;* Function Name
146 000000A4 ;* SystemCtrl
147 000000A4 ;* Inputs
148 000000A4 ;* None
149 000000A4 ;* Outputs
150 000000A4 ;* None
151 000000A4 ;* Return Codes
152 000000A4 ;* None
153 000000A4 ;* Description
154 000000A4 ;* This funtion init the system
155 000000A4 ;* Date:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -