📄 44binit.lst
字号:
109 00000000 00000591
REFCNT EQU 1425 ;1019 ;period=15.6us, MCLK=4
0Mhz
110 00000000 ;************************************************
111 00000000 END
12 00000000
13 00000000 ;Memory Area
14 00000000 ;GCS6 64M 16bit(8MB) DRAM/SDRAM(0xc000000-0xc7fffff)
15 00000000 ;APP RAM=0xc000000~0xc7effff
ARM Macro Assembler Page 5
16 00000000 ;44BMON RAM=0xc7f0000-0xc7fffff
17 00000000 ;STACK =0xc7ffa00
18 00000000
19 00000000 ;Interrupt Control
20 00000000 01E00004
INTPND EQU 0x01e00004
21 00000000 01E00008
INTMOD EQU 0x01e00008
22 00000000 01E0000C
INTMSK EQU 0x01e0000c
23 00000000 01E00020
I_ISPR EQU 0x01e00020
24 00000000 01E0001C
I_CMST EQU 0x01e0001c
25 00000000
26 00000000 ;Watchdog timer
27 00000000 01D30000
WTCON EQU 0x01d30000
28 00000000
29 00000000 ;Clock Controller
30 00000000 01D80000
PLLCON EQU 0x01d80000
31 00000000 01D80004
CLKCON EQU 0x01d80004
32 00000000 01D8000C
LOCKTIME
EQU 0x01d8000c
33 00000000
34 00000000 ;Memory Controller
35 00000000 01C80024
REFRESH EQU 0x01c80024
36 00000000
37 00000000 ;BDMA destination register
38 00000000 01F80008
BDIDES0 EQU 0x1f80008
39 00000000 01F80028
BDIDES1 EQU 0x1f80028
40 00000000
41 00000000 ;Pre-defined constants
42 00000000 00000010
USERMODE
EQU 0x10
43 00000000 00000011
FIQMODE EQU 0x11
44 00000000 00000012
IRQMODE EQU 0x12
45 00000000 00000013
SVCMODE EQU 0x13
46 00000000 00000017
ABORTMODE
EQU 0x17
47 00000000 0000001B
UNDEFMODE
EQU 0x1b
48 00000000 0000001F
MODEMASK
EQU 0x1f
49 00000000 000000C0
NOINT EQU 0xc0
ARM Macro Assembler Page 6
50 00000000
51 00000000 ;check if tasm.exe is used.
52 00000000 GBLL THUMBCODE
53 00000000 [ {CONFIG} = 16
57 00000000 FALSE
THUMBCODE
SETL {FALSE}
58 00000000 ]
59 00000000
60 00000000 [ THUMBCODE
62 ]
63 00000000
64 00000000 MACRO
65 00000000 $HandlerLabel
HANDLER $HandleLabel
66 00000000
67 00000000 $HandlerLabel
68 00000000 sub sp,sp,#4 ;decrement sp(to store jump
address)
69 00000000 stmfd sp!,{r0} ;PUSH the work register to s
tack(lr does not push becaus
e it return to original addr
ess)
70 00000000 ldr r0,=$HandleLabel ;load the address of Ha
ndleXXX to r0
71 00000000 ldr r0,[r0] ;load the contents(service r
outine start address) of Han
dleXXX
72 00000000 str r0,[sp,#4] ;store the contents(ISR) of
HandleXXX to stack
73 00000000 ldmfd sp!,{r0,pc} ;POP the work register and p
c(jump to ISR)
74 00000000 MEND
75 00000000
76 00000000 IMPORT |Image$$RO$$Limit| ; End of ROM code (=s
tart of ROM data)
77 00000000 IMPORT |Image$$RW$$Base|
; Base of RAM to initialise
78 00000000 IMPORT |Image$$ZI$$Base|
; Base and limit of area
79 00000000 IMPORT |Image$$ZI$$Limit| ; to zero initialise
80 00000000
81 00000000 IMPORT Main ; The main entry of mon prog
ram
82 00000000
83 00000000 AREA Init,CODE,READONLY
84 00000000
85 00000000 ENTRY
86 00000000 EA000125 b ResetHandler ;for debug
87 00000004 EA00005D b HandlerUndef ;handlerUndef
88 00000008 EA000062 b HandlerSWI ;SWI interrupt handler
89 0000000C EA00006D b HandlerPabort ;handlerPAbort
90 00000010 EA000066 b HandlerDabort ;handlerDAbort
91 00000014 EAFFFFFE b . ;handlerReserved
92 00000018 EA000052 b HandlerIRQ
93 0000001C EA00004B b HandlerFIQ
94 00000020 ;***IMPORTANT NOTE***
95 00000020 ;If the H/W vectored interrutp mode is enabled, The abov
e two instructions should
ARM Macro Assembler Page 7
96 00000020 ;be changed like below, to work-around with H/W bug of S
3C44B0X interrupt controller.
97 00000020 ; b HandlerIRQ -> subs pc,lr,#4
98 00000020 ; b HandlerIRQ -> subs pc,lr,#4
99 00000020
100 00000020 VECTOR_BRANCH
101 00000020 E59FF0BC ldr pc,=HandlerEINT0 ;mGA H/W interrupt v
ector table
102 00000024 E59FF0BC ldr pc,=HandlerEINT1 ;
103 00000028 E59FF0BC ldr pc,=HandlerEINT2 ;
104 0000002C E59FF0BC ldr pc,=HandlerEINT3 ;
105 00000030 E59FF0BC ldr pc,=HandlerEINT4567 ;
106 00000034 E59FF0BC ldr pc,=HandlerTICK ;mGA
107 00000038 EAFFFFFE b .
108 0000003C EAFFFFFE b .
109 00000040 E59FF0B4 ldr pc,=HandlerZDMA0 ;mGB
110 00000044 E59FF0B4 ldr pc,=HandlerZDMA1 ;
111 00000048 E59FF0B4 ldr pc,=HandlerBDMA0 ;
112 0000004C E59FF0B4 ldr pc,=HandlerBDMA1 ;
113 00000050 E59FF0B4 ldr pc,=HandlerWDT ;
114 00000054 E59FF0B4 ldr pc,=HandlerUERR01 ;mGB
115 00000058 EAFFFFFE b .
116 0000005C EAFFFFFE b .
117 00000060 E59FF0AC ldr pc,=HandlerTIMER0 ;mGC
118 00000064 E59FF0AC ldr pc,=HandlerTIMER1 ;
119 00000068 E59FF0AC ldr pc,=HandlerTIMER2 ;
120 0000006C E59FF0AC ldr pc,=HandlerTIMER3 ;
121 00000070 E59FF0AC ldr pc,=HandlerTIMER4 ;
122 00000074 E59FF0AC ldr pc,=HandlerTIMER5 ;mGC
123 00000078 EAFFFFFE b .
124 0000007C EAFFFFFE b .
125 00000080 E59FF0A4 ldr pc,=HandlerURXD0 ;mGD
126 00000084 E59FF0A4 ldr pc,=HandlerURXD1 ;
127 00000088 E59FF0A4 ldr pc,=HandlerIIC ;
128 0000008C E59FF0A4 ldr pc,=HandlerSIO ;
129 00000090 E59FF0A4 ldr pc,=HandlerUTXD0 ;
130 00000094 E59FF0A4 ldr pc,=HandlerUTXD1 ;mGD
131 00000098 EAFFFFFE b .
132 0000009C EAFFFFFE b .
133 000000A0 E59FF09C ldr pc,=HandlerRTC ;mGKA
134 000000A4 EAFFFFFE b . ;
135 000000A8 EAFFFFFE b . ;
136 000000AC EAFFFFFE b . ;
137 000000B0 EAFFFFFE b . ;
138 000000B4 EAFFFFFE b . ;mGKA
139 000000B8 EAFFFFFE b .
140 000000BC EAFFFFFE b .
141 000000C0 E59FF080 ldr pc,=HandlerADC ;mGKB
142 000000C4 EAFFFFFE b . ;
143 000000C8 EAFFFFFE b . ;
144 000000CC EAFFFFFE b . ;
145 000000D0 EAFFFFFE b . ;
146 000000D4 EAFFFFFE b . ;mGKB
147 000000D8 EAFFFFFE b .
148 000000DC EAFFFFFE b .
149 000000E0 ;0xe0=EnterPWDN
150 000000E0 E59FF064 ldr pc,=EnterPWDN
151 000000E4
152 000000E4 00000438
ARM Macro Assembler Page 8
00000420
00000408
000003F0
000003D8
000003C0
000003A8
00000390
00000378
00000360
00000348
00000330
00000318
00000300
000002E8
000002D0
000002B8
000002A0
00000288
00000270
00000258
00000240
00000228
00000210
000001F8
000001E0
000005A0 LTORG
153 00000150
154 00000150 HandlerFIQ
HANDLER HandleFIQ
66 00000150
67 00000150 HandlerFIQ
68 00000150 E24DD004 sub sp,sp,#4 ;decrement sp(to store jump
address)
69 00000154 E92D0001 stmfd sp!,{r0} ;PUSH the work register to s
tack(lr does not push becaus
e it return to original addr
ess)
70 00000158 E59F0494 ldr r0,=HandleFIQ ;load the address of Handl
eXXX to r0
71 0000015C E5900000 ldr r0,[r0] ;load the contents(service r
outine start address) of Han
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -