?? startup.lst
字號:
281 IF (EMC_SETUP != 0)
LDR R0, =EMC_BASE
IF (BCFG0_SETUP != 0)
LDR R1, =BCFG0_Val
STR R1, [R0, #BCFG0_OFS]
ENDIF
IF (BCFG1_SETUP != 0)
LDR R1, =BCFG1_Val
STR R1, [R0, #BCFG1_OFS]
ENDIF
IF (BCFG2_SETUP != 0)
LDR R1, =BCFG2_Val
STR R1, [R0, #BCFG2_OFS]
ENDIF
IF (BCFG3_SETUP != 0)
LDR R1, =BCFG3_Val
STR R1, [R0, #BCFG3_OFS]
ENDIF
ENDIF
300
301
302 IF (VPBDIV_SETUP != 0)
LDR R0, =VPBDIV
LDR R1, =VPBDIV_Val
STR R1, [R0]
ENDIF
307
308
309 IF (PLL_SETUP != 0)
00000040 E59F0034 310 LDR R0, =PLL_BASE
00000044 E3A010AA 311 MOV R1, #0xAA
00000048 E3A02055 312 MOV R2, #0x55
313
314
0000004C E3A03024 315 MOV R3, #PLLCFG_Val
00000050 E5803004 316 STR R3, [R0, #PLLCFG_OFS]
00000054 E3A03001 317 MOV R3, #PLLCON_PLLE
00000058 E5803000 318 STR R3, [R0, #PLLCON_OFS]
0000005C E580100C 319 STR R1, [R0, #PLLFEED_OFS]
00000060 E580200C 320 STR R2, [R0, #PLLFEED_OFS]
321
AA MACRO ASSEMBLER RSTARTUP 23/09/08 18:04:45 PAGE 6
322
00000064 E5903008 323 PLL_Loop: LDR R3, [R0, #PLLSTAT_OFS]
00000068 E2133B01 324 ANDS R3, R3, #PLLSTAT_PLOCK
0000006C 0AFFFFFC 325 BEQ PLL_Loop
326
327
00000070 E3A03003 328 MOV R3, #(PLLCON_PLLE | PLLCON_PLLC)
00000074 E5803000 329 STR R3, [R0, #PLLCON_OFS]
00000078 E580100C 330 STR R1, [R0, #PLLFEED_OFS]
0000007C E580200C 331 STR R2, [R0, #PLLFEED_OFS]
332 ENDIF
333
334
335 IF (MAM_SETUP != 0)
00000080 E59F0034 336 LDR R0, =MAM_BASE
00000084 E3A01004 337 MOV R1, #MAMTIM_Val
00000088 E5801004 338 STR R1, [R0, #MAMTIM_OFS]
0000008C E3A01002 339 MOV R1, #MAMCR_Val
00000090 E5801000 340 STR R1, [R0, #MAMCR_OFS]
341 ENDIF
342
343
344
E01FC040 345 MEMMAP EQU 0xE01FC040
346
347 $if (RAM_INTVEC)
LDR R0, =MEMMAP
MOV R1, #2
STR R1, [R0]
$endif
352
353
354
00000094 E59F0034 355 LDR R0, =Top_Stack
356
357
00000098 E321F0DB 358 MSR CPSR_c, #Mode_UND|I_Bit|F_Bit
0000009C E1A0D000 359 MOV SP, R0
000000A0 E2400004 360 SUB R0, R0, #UND_Stack_Size
361
362
000000A4 E321F0D7 363 MSR CPSR_c, #Mode_ABT|I_Bit|F_Bit
000000A8 E1A0D000 364 MOV SP, R0
000000AC E2400004 365 SUB R0, R0, #ABT_Stack_Size
366
367
000000B0 E321F0D1 368 MSR CPSR_c, #Mode_FIQ|I_Bit|F_Bit
000000B4 E1A0D000 369 MOV SP, R0
000000B8 E2400004 370 SUB R0, R0, #FIQ_Stack_Size
371
372
000000BC E321F0D2 373 MSR CPSR_c, #Mode_IRQ|I_Bit|F_Bit
000000C0 E1A0D000 374 MOV SP, R0
000000C4 E2400080 375 SUB R0, R0, #IRQ_Stack_Size
376
377
000000C8 E321F0D3 378 MSR CPSR_c, #Mode_SVC|I_Bit|F_Bit
000000CC E1A0D000 379 MOV SP, R0
000000D0 E2400004 380 SUB R0, R0, #SVC_Stack_Size
381
382
383
384
385
000000D4 E321F0DF 386 MSR CPSR_c, #0xdf
000000D8 E1A0D000 387 MOV SP, R0
AA MACRO ASSEMBLER RSTARTUP 23/09/08 18:04:45 PAGE 7
388
389
000000DC E59F0034 390 LDR R0,=?C?INIT
000000E0 E3100001 391 TST R0,#1 ; Bit-0 set: INIT is Thumb
000000E4 E3A0E0F0 392 LDREQ LR,=exit?A ; ARM Mode
000000E8 E3A0E0F4 393 LDRNE LR,=exit?T ; Thumb Mode
000000EC E12FFF10 394 BX R0
395 ENDP
396
397
398
399
400 PUBLIC exit?A
401 exit?A PROC CODE32
000000F0 EAFFFFFE 402 B exit?A
403 ENDP
404
405 PUBLIC exit?T
406 exit?T PROC CODE16
000000F4 E7FE 407 exit: B exit?T
408 ENDP
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
AA MACRO ASSEMBLER RSTARTUP 23/09/08 18:04:45 PAGE 8
454
455
456 PUBLIC IRQDisable?A
457 IRQDisable?A PROC CODE32
458
000000F8 E10F0000 459 MRS R0, CPSR
000000FC E3800080 460 ORR R0, R0, #0x80
00000100 E121F000 461 MSR CPSR_c, R0
462
463
00000104 E1A0F00E 464 MOV PC, LR
465 ENDP
466
467 PUBLIC IRQEnable?A
468 IRQEnable?A PROC CODE32
469
00000108 E10F0000 470 MRS R0, CPSR
0000010C E3C00080 471 BIC R0, R0, #0x80
00000110 E121F000 472 MSR CPSR_c, R0
00000114 E1A0F00E 473 MOV PC, LR
474 ENDP
475
476 end
477
478
AA MACRO ASSEMBLER RSTARTUP 23/09/08 18:04:45 PAGE 9
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C?INIT. . . . . . C ADDR ------- EXT
ABT_Stack_Size . . -- ---- 0004H A
BCFG0_OFS. . . . . -- ---- 0000H A
BCFG0_SETUP. . . . -- ---- 0000H A
BCFG0_Val. . . . . -- ---- FBEFH A
BCFG1_OFS. . . . . -- ---- 0004H A
BCFG1_SETUP. . . . -- ---- 0000H A
BCFG1_Val. . . . . -- ---- FBEFH A
BCFG2_OFS. . . . . -- ---- 0008H A
BCFG2_SETUP. . . . -- ---- 0000H A
BCFG2_Val. . . . . -- ---- FBEFH A
BCFG3_OFS. . . . . -- ---- 000CH A
BCFG3_SETUP. . . . -- ---- 0000H A
BCFG3_Val. . . . . -- ---- FBEFH A
CODE_BASE. . . . . -- ---- 0000H A
DAbt_Addr. . . . . C ADDR 0030H R SEG=STARTUPCODE
DAbt_Handler?A . . C ADDR ------- EXT
EMC_BASE . . . . . -- ---- FFE00000H A
EMC_SETUP. . . . . -- ---- 0000H A
FIQ_Addr . . . . . C ADDR 003CH R SEG=STARTUPCODE
FIQ_Handler?A. . . C ADDR ------- EXT
FIQ_Stack_Size . . -- ---- 0004H A
F_Bit. . . . . . . -- ---- 0040H A
IRQDisable?A . . . C ADDR 00F8H R SEG=STARTUPCODE
IRQEnable?A. . . . C ADDR 0108H R SEG=STARTUPCODE
IRQ_Addr . . . . . C ADDR 0038H R SEG=STARTUPCODE
IRQ_Handler?A. . . C ADDR ------- EXT
IRQ_Stack_Size . . -- ---- 0080H A
I_Bit. . . . . . . -- ---- 0080H A
MAMCR_OFS. . . . . -- ---- 0000H A
MAMCR_Val. . . . . -- ---- 0002H A
MAMTIM_OFS . . . . -- ---- 0004H A
MAMTIM_Val . . . . -- ---- 0004H A
MAM_BASE . . . . . -- ---- E01FC000H A
MAM_SETUP. . . . . -- ---- 0001H A
MEMMAP . . . . . . -- ---- E01FC040H A
Mode_ABT . . . . . -- ---- 0017H A
Mode_FIQ . . . . . -- ---- 0011H A
Mode_IRQ . . . . . -- ---- 0012H A
Mode_SVC . . . . . -- ---- 0013H A
Mode_SYS . . . . . -- ---- 001FH A
Mode_UND . . . . . -- ---- 001BH A
Mode_USR . . . . . -- ---- 0010H A
PAbt_Addr. . . . . C ADDR 002CH R SEG=STARTUPCODE
PAbt_Handler?A . . C ADDR ------- EXT
PINSEL2. . . . . . -- ---- E002C014H A
PINSEL2_Val. . . . -- ---- 0E6149E4H A
PLLCFG_MSEL. . . . -- ---- 001FH A
PLLCFG_OFS . . . . -- ---- 0004H A
PLLCFG_PSEL. . . . -- ---- 0060H A
PLLCFG_Val . . . . -- ---- 0024H A
PLLCON_OFS . . . . -- ---- 0000H A
PLLCON_PLLC. . . . -- ---- 0002H A
PLLCON_PLLE. . . . -- ---- 0001H A
PLLFEED_OFS. . . . -- ---- 000CH A
PLLSTAT_OFS. . . . -- ---- 0008H A
PLLSTAT_PLOCK. . . -- ---- 0400H A
PLL_BASE . . . . . -- ---- E01FC080H A
PLL_Loop . . . . . C ADDR 0064H R SEG=STARTUPCODE
PLL_SETUP. . . . . -- ---- 0001H A
AA MACRO ASSEMBLER RSTARTUP 23/09/08 18:04:45 PAGE 10
Reset_Addr . . . . C ADDR 0020H R SEG=STARTUPCODE
Reset_Handler. . . C ADDR 0040H R SEG=STARTUPCODE
STACK. . . . . . . D SEG 0490H REL=UNIT, ALN=BYTE
STARTUPCODE. . . . C SEG 0118H REL=ABS, ALN=BYTE
SVC_Stack_Size . . -- ---- 0004H A
SWI_Addr . . . . . C ADDR 0028H R SEG=STARTUPCODE
SWI_Handler?A. . . C ADDR ------- EXT
Top_Stack. . . . . D ADDR 0490H R SEG=STACK
UND_Stack_Size . . -- ---- 0004H A
USR_Stack_Size . . -- ---- 0400H A
Undef_Addr . . . . C ADDR 0024H R SEG=STARTUPCODE
Undef_Handler?A. . C ADDR ------- EXT
VPBDIV . . . . . . -- ---- E01FC100H A
VPBDIV_SETUP . . . -- ---- 0000H A
VPBDIV_Val . . . . -- ---- 0000H A
Vectors. . . . . . C ADDR 0000H R SEG=STARTUPCODE
__startup. . . . . C ADDR 0000H R SEG=STARTUPCODE
exit . . . . . . . C ADDR 00F4H R SEG=STARTUPCODE
exit?A . . . . . . C ADDR 00F0H R SEG=STARTUPCODE
exit?T . . . . . . C ADDR 00F4H R SEG=STARTUPCODE
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S).
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -