📄 startup.lst
字号:
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
70000000 220 EBI_CSR7_Val EQU 0x70000000
221
222
223
224
225
226
0010 227 EBI_MCR_Val EQU 0x00000010
228
229
230
231
232
233
234
FFFF4000 235 PMC_BASE EQU 0xFFFF4000
0020 236 PMC_CGMR EQU 0x20
0030 237 PMC_SR EQU 0x30
0030 238 PMC_MCKOSS EQU (3<<4)
0040 239 PMC_MCKO EQU (1<<6)
0008 240 PMC_PLLS EQU (1<<3)
0080 241 PMC_CSS EQU (1<<7)
0007 242 PMC_PRES EQU (7<<0)
0007FF00 243 PMC_MUL EQU (0x7FF<<8)
FF000000 244 PMC_PLLCOUNT EQU (0xFF<<24)
0001 245 PMC_PLL_LOCK EQU (1<<0)
246
247
248
249
250
251
252
253
254
255
256
AA MACRO ASSEMBLER STARTUP 19/08/06 14:09:57 PAGE 5
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
0000 272 PMC_SETUP EQU 0
1003FF98 273 PMC_CGMR_Val EQU 0x1003FF98
274
275
276
FFFF4000 277 APMC_BASE EQU 0xFFFF4000
0020 278 APMC_CGMR EQU 0x20
0030 279 APMC_SR EQU 0x30
0001 280 APMC_MOSC_BYP EQU (1<<0)
0002 281 APMC_MOSC_EN EQU (1<<1)
0004 282 APMC_MCKO_DIS EQU (1<<2)
C000 283 APMC_CSS EQU (3<<14)
0070 284 APMC_PRES EQU (7<<4)
3F00 285 APMC_MUL EQU (0x3F<<8)
00FF0000 286 APMC_OSCOUNT EQU (0xFF<<16)
3F000000 287 APMC_PLLCOUNT EQU (0x3F<<24)
0001 288 APMC_MOSCS EQU (1<<0)
0002 289 APMC_PLL_LOCK EQU (1<<1)
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
0000 316 APMC_SETUP EQU 0
032F8102 317 APMC_CGMR_Val EQU 0x032F8102
318
319
320
00000000 321 AREA VECTORS, DATA, READWRITE, AT 0x00000000
00000000 322 DS 32
AA MACRO ASSEMBLER STARTUP 19/08/06 14:09:57 PAGE 6
323
324
325
326
01000000 327 AREA STARTUPCODE, CODE, AT 0x01000000
328 PUBLIC __startup
329
330 EXTERN CODE32 (?C?INIT)
331
332 __startup PROC CODE32
333
334
335
336 EXTERN CODE32 (Undef_Handler?A)
337 EXTERN CODE32 (SWI_Handler?A)
338 EXTERN CODE32 (PAbt_Handler?A)
339 EXTERN CODE32 (DAbt_Handler?A)
340 ; EXTERN CODE32 (IRQ_Handler?A)
341 ; EXTERN CODE32 (FIQ_Handler?A)
342
343
344
345
346
01000000 EA000014 347 Reset_Vec: B Reset_Handler
01000004 EAFFFFFE 348 Undef_Vec: B Undef_Vec
01000008 EAFFFFFE 349 SWI_Vec: B SWI_Vec
0100000C EAFFFFFE 350 PAbt_Vec: B PAbt_Vec
01000010 EAFFFFFE 351 DAbt_Vec: B DAbt_Vec
01000014 E1A00000 352 NOP
01000018 EAFFFFFE 353 IRQ_Vec: B IRQ_Vec
0100001C EAFFFFFE 354 FIQ_Vec: B FIQ_Vec
355
356
357
358
359
360
361
01000020 E59FF000 362 Vectors: LDR PC,Reset_Addr
01000024 E59FF000 363 LDR PC,Undef_Addr
01000028 E59FF000 364 LDR PC,SWI_Addr
0100002C E59FF000 365 LDR PC,PAbt_Addr
01000030 E59FF000 366 LDR PC,DAbt_Addr
01000034 E1A00000 367 NOP
368 ; LDR PC,IRQ_Addr
01000038 E51FFF20 369 LDR PC,[PC,#-0xF20]
370 ; LDR PC,FIQ_Addr
0100003C E51FFF20 371 LDR PC,[PC,#-0xF20]
372
01000040 01000058 R 373 Reset_Addr: DD Reset_Handler
01000044 00000000 E 374 Undef_Addr: DD Undef_Handler?A
01000048 00000000 E 375 SWI_Addr: DD SWI_Handler?A
0100004C 00000000 E 376 PAbt_Addr: DD PAbt_Handler?A
01000050 00000000 E 377 DAbt_Addr: DD DAbt_Handler?A
01000054 00000000 378 DD 0
379 ;IRQ_Addr: DD IRQ_Handler?A
380 ;FIQ_Addr: DD FIQ_Handler?A
381
382
383
384
01000058 385 Reset_Handler:
386
387
388
AA MACRO ASSEMBLER STARTUP 19/08/06 14:09:57 PAGE 7
389 IF (PMC_SETUP != 0)
LDR R0, =PMC_BASE
IF ((PMC_CGMR_Val & PMC_MUL) != 0)
LDR R1, =(PMC_CGMR_Val & ~PMC_CSS)
STR R1, [R0, #PMC_CGMR]
PLL_Loop: LDR R2, [R0, #PMC_SR]
ANDS R2, R2, #PMC_PLL_LOCK
BEQ PLL_Loop
ENDIF
LDR R1, =PMC_CGMR_Val
STR R1, [R0, #PMC_CGMR]
ENDIF ; PMC_SETUP
408
409
410
411 IF (APMC_SETUP != 0)
LDR R0, =APMC_BASE
IF ((APMC_CGMR_Val & APMC_MOSC_EN) != 0)
LDR R1, =(APMC_CGMR_Val & ~(APMC_CSS | APMC_MUL))
STR R1, [R0, #APMC_CGMR]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -