⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 startup.lst

📁 rs485的通信程序的主程序。采用at91sam7a3芯片编写的。
💻 LST
📖 第 1 页 / 共 3 页
字号:
                                
                                
                                MOSCS_Loop:     LDR     R2, [R0, #APMC_SR]
                                                ANDS    R2, R2, #APMC_MOSCS
                                                BEQ     MOSCS_Loop
                                ENDIF
                                
                                
                                IF ((APMC_CGMR_Val & APMC_MUL) != 0)
                                                LDR     R1, =(APMC_CGMR_Val & ~APMC_CSS)
                                                STR     R1, [R0, #APMC_CGMR]
                                
                                
                                PLL_Loop:       LDR     R2, [R0, #APMC_SR]
                                                ANDS    R2, R2, #APMC_PLL_LOCK
                                                BEQ     PLL_Loop
                                ENDIF
                                
                                ;  Switch from Slow Clock to Selected Clock
                                                LDR     R1, =APMC_CGMR_Val
                                                STR     R1, [R0, #APMC_CGMR]
                                
                                ENDIF   ; APMC_SETUP
                        441     
                        442     
                        443     
                        444     
01000058 E24F8040       445                     ADR     R8, Vectors
                        446     $if  (REMAPPED)
                                                MOV     R9, #RAM_Base
                                $else 
0100005C E3A09603       449                     MOV     R9, #RAM_Boot
                        450     $endif 
01000060 E8B800FF       451                     LDMIA   R8!, {R0-R7}            ; Load Vectors 
01000064 E8A900FF       452                     STMIA   R9!, {R0-R7}            ; Store Vectors 
01000068 E8B800FF       453                     LDMIA   R8!, {R0-R7}            ; Load Handler Addresses 
0100006C E8A900FF       454                     STMIA   R9!, {R0-R7}            ; Store Handler Addresses 
AA MACRO ASSEMBLER  STARTUP                                                                 19/08/06 14:09:57 PAGE     8

                        455     
                        456     
                        457     
                        458     
01000070 E59FC000       459                     LDR     R12, AfterRemapAdr      ; Get the Real Jump Address 
01000074 E28FB008       460                     ADR     R11, EBI_Table
01000078 E89B07FF       461                     LDMIA   R11, {R0-R10}           ; Load EBI Data 
0100007C E88A03FF       462                     STMIA   R10, {R0-R9}            ; Store EBI Data with Remap 
01000080 E1A0F00C       463                     MOV     PC, R12                 ; Jump and flush Pipeline 
                        464     
01000084 010024A9       465     EBI_Table:      DD      EBI_CSR0_Val
01000088 040034A5       466                     DD      EBI_CSR1_Val
0100008C 20000000       467                     DD      EBI_CSR2_Val
01000090 30000000       468                     DD      EBI_CSR3_Val
01000094 40000000       469                     DD      EBI_CSR4_Val
01000098 50000000       470                     DD      EBI_CSR5_Val
0100009C 60000000       471                     DD      EBI_CSR6_Val
010000A0 70000000       472                     DD      EBI_CSR7_Val
010000A4 00000001       473                     DD      0x00000001              ; Remap Command 
010000A8 00000010       474                     DD      EBI_MCR_Val
010000AC FFE00000       475                     DD      EBI_BASE
                        476     
010000B0 010000B4 R     477     AfterRemapAdr:  DD      AfterRemap
                        478     
010000B4                479     AfterRemap:
                        480     
                        481     
                        482     
010000B4 E59F0000       483                     LDR     R0, =Top_Stack
                        484     
                        485     
010000B8 E321F0DB       486                     MSR     CPSR_c, #Mode_UND|I_Bit|F_Bit
010000BC E1A0D000       487                     MOV     SP, R0
010000C0 E2400004       488                     SUB     R0, R0, #UND_Stack_Size
                        489     
                        490     
010000C4 E321F0D7       491                     MSR     CPSR_c, #Mode_ABT|I_Bit|F_Bit
010000C8 E1A0D000       492                     MOV     SP, R0
010000CC E2400004       493                     SUB     R0, R0, #ABT_Stack_Size
                        494     
                        495     
010000D0 E321F0D1       496                     MSR     CPSR_c, #Mode_FIQ|I_Bit|F_Bit
010000D4 E1A0D000       497                     MOV     SP, R0
010000D8 E2400004       498                     SUB     R0, R0, #FIQ_Stack_Size
                        499     
                        500     
010000DC E321F0D2       501                     MSR     CPSR_c, #Mode_IRQ|I_Bit|F_Bit
010000E0 E1A0D000       502                     MOV     SP, R0
010000E4 E2400080       503                     SUB     R0, R0, #IRQ_Stack_Size
                        504     
                        505     
010000E8 E321F0D3       506                     MSR     CPSR_c, #Mode_SVC|I_Bit|F_Bit
010000EC E1A0D000       507                     MOV     SP, R0
010000F0 E2400004       508                     SUB     R0, R0, #SVC_Stack_Size
                        509     
                        510     
010000F4 E321F010       511                     MSR     CPSR_c, #Mode_USR
010000F8 E1A0D000       512                     MOV     SP, R0
                        513     
                        514     
010000FC E59F0000       515                     LDR     R0,=?C?INIT
01000100 E3100001       516                     TST     R0,#1       ; Bit-0 set: main is Thumb
01000104 E3AFE000       517                     LDREQ   LR,=exit?A  ; ARM Mode
01000108 E3AFE000       518                     LDRNE   LR,=exit?T  ; Thumb Mode
0100010C E12FFF10       519                     BX      R0
                        520                     ENDP
AA MACRO ASSEMBLER  STARTUP                                                                 19/08/06 14:09:57 PAGE     9

                        521     
                        522     PUBLIC exit?A
                        523     exit?A          PROC    CODE32
01000110 EAFFFFFE       524                     B       exit?A
                        525                     ENDP
                        526     
                        527     PUBLIC exit?T
                        528     exit?T          PROC    CODE16
01000114 E7FE           529                     B       exit?T
                        530                     ENDP
                        531     
                        532                     END
AA MACRO ASSEMBLER  STARTUP                                                                 19/08/06 14:09:57 PAGE    10

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   
APMC_BASE. . . . .  -- ----  FFFF4000H A   
APMC_CGMR. . . . .  -- ----  0020H     A   
APMC_CGMR_Val. . .  -- ----  032F8102H A   
APMC_CSS . . . . .  -- ----  C000H     A   
APMC_MCKO_DIS. . .  -- ----  0004H     A   
APMC_MOSCS . . . .  -- ----  0001H     A   
APMC_MOSC_BYP. . .  -- ----  0001H     A   
APMC_MOSC_EN . . .  -- ----  0002H     A   
APMC_MUL . . . . .  -- ----  3F00H     A   
APMC_OSCOUNT . . .  -- ----  FF0000H   A   
APMC_PLLCOUNT. . .  -- ----  3F000000H A   
APMC_PLL_LOCK. . .  -- ----  0002H     A   
APMC_PRES. . . . .  -- ----  0070H     A   
APMC_SETUP . . . .  -- ----  0000H     A   
APMC_SR. . . . . .  -- ----  0030H     A   
AfterRemap . . . .  C  ADDR  010000B4H R   SEG=STARTUPCODE
AfterRemapAdr. . .  C  ADDR  010000B0H R   SEG=STARTUPCODE
DAbt_Addr. . . . .  C  ADDR  01000050H R   SEG=STARTUPCODE
DAbt_Handler?A . .  C  ADDR  -------       EXT
DAbt_Vec . . . . .  C  ADDR  01000010H R   SEG=STARTUPCODE
EBI_BASE . . . . .  -- ----  FFE00000H A   
EBI_CSR0_Val . . .  -- ----  010024A9H A   
EBI_CSR1_Val . . .  -- ----  040034A5H A   
EBI_CSR2_Val . . .  -- ----  20000000H A   
EBI_CSR3_Val . . .  -- ----  30000000H A   
EBI_CSR4_Val . . .  -- ----  40000000H A   
EBI_CSR5_Val . . .  -- ----  50000000H A   
EBI_CSR6_Val . . .  -- ----  60000000H A   
EBI_CSR7_Val . . .  -- ----  70000000H A   
EBI_MCR_Val. . . .  -- ----  0010H     A   
EBI_Table. . . . .  C  ADDR  01000084H R   SEG=STARTUPCODE
FIQ_Stack_Size . .  -- ----  0004H     A   
FIQ_Vec. . . . . .  C  ADDR  0100001CH R   SEG=STARTUPCODE
F_Bit. . . . . . .  -- ----  0040H     A   
IRQ_Stack_Size . .  -- ----  0080H     A   
IRQ_Vec. . . . . .  C  ADDR  01000018H R   SEG=STARTUPCODE
I_Bit. . . . . . .  -- ----  0080H     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  0100004CH R   SEG=STARTUPCODE
PAbt_Handler?A . .  C  ADDR  -------       EXT
PAbt_Vec . . . . .  C  ADDR  0100000CH R   SEG=STARTUPCODE
PMC_BASE . . . . .  -- ----  FFFF4000H A   
PMC_CGMR . . . . .  -- ----  0020H     A   
PMC_CGMR_Val . . .  -- ----  1003FF98H A   
PMC_CSS. . . . . .  -- ----  0080H     A   
PMC_MCKO . . . . .  -- ----  0040H     A   
PMC_MCKOSS . . . .  -- ----  0030H     A   
PMC_MUL. . . . . .  -- ----  07FF00H   A   
PMC_PLLCOUNT . . .  -- ----  FF000000H A   
PMC_PLLS . . . . .  -- ----  0008H     A   
PMC_PLL_LOCK . . .  -- ----  0001H     A   
PMC_PRES . . . . .  -- ----  0007H     A   
AA MACRO ASSEMBLER  STARTUP                                                                 19/08/06 14:09:57 PAGE    11

PMC_SETUP. . . . .  -- ----  0000H     A   
PMC_SR . . . . . .  -- ----  0030H     A   
RAM_Base . . . . .  -- ----  0000H     A   
RAM_Boot . . . . .  -- ----  300000H   A   
Reset_Addr . . . .  C  ADDR  01000040H R   SEG=STARTUPCODE
Reset_Handler. . .  C  ADDR  01000058H R   SEG=STARTUPCODE
Reset_Vec. . . . .  C  ADDR  01000000H R   SEG=STARTUPCODE
STACK. . . . . . .  D  SEG   0490H         REL=UNIT, ALN=BYTE
STARTUPCODE. . . .  C  SEG   01000116H     REL=ABS, ALN=BYTE
SVC_Stack_Size . .  -- ----  0004H     A   
SWI_Addr . . . . .  C  ADDR  01000048H R   SEG=STARTUPCODE
SWI_Handler?A. . .  C  ADDR  -------       EXT
SWI_Vec. . . . . .  C  ADDR  01000008H R   SEG=STARTUPCODE
Top_Stack. . . . .  D  ADDR  0490H     R   SEG=STACK
UND_Stack_Size . .  -- ----  0004H     A   
USR_Stack_Size . .  -- ----  0400H     A   
Undef_Addr . . . .  C  ADDR  01000044H R   SEG=STARTUPCODE
Undef_Handler?A. .  C  ADDR  -------       EXT
Undef_Vec. . . . .  C  ADDR  01000004H R   SEG=STARTUPCODE
VECTORS. . . . . .  D  SEG   0020H         REL=ABS, ALN=BYTE
Vectors. . . . . .  C  ADDR  01000020H R   SEG=STARTUPCODE
__startup. . . . .  C  ADDR  01000000H R   SEG=STARTUPCODE
exit?A . . . . . .  C  ADDR  01000110H R   SEG=STARTUPCODE
exit?T . . . . . .  C  ADDR  01000114H R   SEG=STARTUPCODE

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S).

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -