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

📄 cstartup.paf.arm

📁 ARM入门的好帮手.包含了从简单到相对较复杂的程序.
💻 ARM
📖 第 1 页 / 共 4 页
字号:

#line 25

#line 25

#line 25

#line 25

#line 25

#line 25

#line 25
#define TOP_EXCEPTION_STACK          RAM_LIMIT           
#line 25
#define TOP_APPLICATION_STACK        EXT_SRAM_LIMIT      
#line 25

#line 25

#line 25

#line 25

#line 25
                ldr     r0, =TOP_EXCEPTION_STACK
#line 25

#line 25

#line 25
                msr     CPSR_c, ARM_MODE_FIQ | I_BIT | F_BIT
#line 25
                mov     r13, r0                     
#line 25
                sub     r0, r0, FIQ_STACK_SIZE
#line 25

#line 25

#line 25
                msr     CPSR_c, ARM_MODE_IRQ | I_BIT | F_BIT
#line 25
                mov     r13, r0                     
#line 25
                sub     r0, r0, IRQ_STACK_SIZE
#line 25

#line 25

#line 25
                msr     CPSR_c, ARM_MODE_ABORT | I_BIT | F_BIT
#line 25
                mov     r13, r0                     
#line 25
                sub     r0, r0, ABT_STACK_SIZE
#line 25

#line 25

#line 25
                msr     CPSR_c, ARM_MODE_UNDEF | I_BIT | F_BIT
#line 25
                mov     r13, r0                     
#line 25
                sub     r0, r0, UND_STACK_SIZE
#line 25

#line 25

#line 25
                msr     CPSR_c, ARM_MODE_SVC | I_BIT | F_BIT
#line 25
                mov     r13, r0                     
#line 25

#line 25

#line 25

#line 25

#line 25

#line 25

#line 25

#line 25

#line 25

#line 25
                msr     CPSR_c, ARM_MODE_USER      
#line 25
                ldr     r13, =TOP_APPLICATION_STACK 
#line 25
                
#line 25

#line 25

#line 25

#line 25
.weak __ghsbegin_bss
#line 25
.weak __ghsend_bss
#line 25

#line 25
                ldr         r1, =__ghsend_bss     
#line 25
                ldr         r3, =__ghsbegin_bss   
#line 25
		mov         r2, 0
#line 25
LoopZI          
#line 25
		cmp         r3, r1                 
#line 25
                strcc       r2, [r3], 4
#line 25
                bcc         LoopZI      
#line 25

#line 25

#line 25

#line 25
.weak __ghsbegin_sbss
#line 25
.weak __ghsend_sbss
#line 25

#line 25
                ldr         r1, =__ghsend_sbss    
#line 25
                ldr         r3, =__ghsbegin_sbss  
#line 25
		mov         r2, 0
#line 25
LoopZI2          
#line 25
		cmp         r3, r1                 
#line 25
                strcc       r2, [r3], 4
#line 25
                bcc         LoopZI2      
#line 25

#line 25
        #if  defined(SEMIHOSTING)
#line 25

#line 25

#line 25

#line 25

#line 25

#line 25
#define SEMIHOSTING_STACK_SIZE   (8*1024)                
#line 25

#line 25
                ldr         r0, = SEMIHOSTING_STACK_SIZE
#line 25
                sub         r13, r13,r0
#line 25
 
#line 25
 .weak __ghsbegin_robase
#line 25
 
#line 25
 		mov	fp, 0				
#line 25
 		ldr	r0, pool_baseptrs		
#line 25
  				
#line 25
 		bl	__ghs_ind_crt0			
#line 25
 
#line 25
 pool_baseptrs:
#line 25
 				.data.w	baseptrs
#line 25
 baseptrs:
#line 25
 				.data.w	__ghsbegin_picbase
#line 25
 				.data.w	__ghsbegin_robase
#line 25
 				.data.w	__ghsbegin_pidbase
#line 25

#line 25
         #else                                
#line 25
         
#line 25

#line 25

#line 25

#line 25

#line 25

#line 25

#line 25

#line 25
                IMPORT      main
#line 25

#line 25
                ldr         r0, =main
#line 25
                mov         lr, pc
#line 25
                bx          r0
#line 25
        #endif                               
#line 25
                
#line 25

#line 25

#line 25

#line 25

#line 25

#line 25

#line 25
End
#line 25
                b           End
#line 25
                
#line 25
.type __main, $function
#line 25
.size __main,.-__main
#line 25
                
#line 25
                
#line 25
            /*END*/
#line 25

#line 25
#line 26
#line 26

#line 27

#line 28

#line 29

#line 30

#line 31
__low_level_init
#line 32
                mov         pc,r14              
#line 33
                #endif                           
#line 34

#line 35

#line 36

#line 37

#line 38

#line 39

#line 40
                #if  defined(AT91_DEBUG_ICE)
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
;.section ".reset","ax" 
;.reset
#line 42
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
                EXPORT      __main
#line 41
__main
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
                B           InitReset       
#line 41
undefvec
#line 41
                B           undefvec        
#line 41
swivec
#line 41
                B           swivec          
#line 41
pabtvec
#line 41
                B           pabtvec         
#line 41
dabtvec 
#line 41
                B           dabtvec         
#line 41
rsvdvec
#line 41
                B           rsvdvec         
#line 41
irqvec
#line 41
                B           irqvec          
#line 41
fiqvec
#line 41
                B           fiqvec          
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
VectorTable
#line 41
                ldr         pc, [pc, 0x18]          
#line 41
                ldr         pc, [pc, 0x18]          
#line 41
                ldr         pc, [pc, 0x18]          
#line 41
                ldr         pc, [pc, 0x18]          
#line 41
                ldr         pc, [pc, 0x18]          
#line 41
                nop                                 
#line 41
                ldr         pc, [pc,-0xF20]        
#line 41
                ldr         pc, [pc,-0xF20]        
#line 41

#line 41

#line 41
                
	.word         SoftReset
#line 41
                
	.word         UndefHandler
#line 41
                
	.word         SWIHandler
#line 41
                
	.word         PrefetchAbortHandler
#line 41
                
	.word         DataAbortHandler
#line 41

#line 41
SoftReset
#line 41
                b           SoftReset
#line 41
UndefHandler    
#line 41
                b           UndefHandler
#line 41
SWIHandler
#line 41
                b           SWIHandler
#line 41
PrefetchAbortHandler
#line 41
                b           PrefetchAbortHandler
#line 41
DataAbortHandler
#line 41
                b           DataAbortHandler
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
InitTableEBI
#line 41
            
	.word         EBI_CSR_0  
#line 41
            
	.word         EBI_CSR_1  
#line 41
            
	.word         EBI_CSR_2  
#line 41
            
	.word         EBI_CSR_3  
#line 41
            
	.word         EBI_CSR_4  
#line 41
            
	.word         EBI_CSR_5  
#line 41
            
	.word         EBI_CSR_6  
#line 41
            
	.word         EBI_CSR_7  
#line 41
            
	.word         0x00000001  
#line 41
            
	.word         0x00000006  
#line 41
PtEBIBase
#line 41
            
	.word         EBI_BASE    
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
InitReset
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
                ldr     r0, PtEBIBase
#line 41
                ldr     r1, [pc,-(8+.-InitTableEBI)] 
#line 41
    
#line 41

#line 41
                str     r1, [r0]
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
                bl      __low_level_init
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
                add     r0, pc,AicData-8-. 
#line 41

#line 41
                ldmia   r0, {r1-r4}
#line 41

#line 41

#line 41
                str     r4, [r1, 0x134]      
#line 41

#line 41

#line 41

#line 41

#line 41
                mov         r0, 8
#line 41
LoopAic0
#line 41
                str         r1, [r1, 0x130]    
#line 41
                subs        r0, r0, 1
#line 41
                bhi         LoopAic0
#line 41

#line 41

#line 41
                str     r2, [r1, 0x80]      
#line 41
                add     r1, r1, 0x80
#line 41
                mov     r0, 31                 
#line 41
LoopAic1
#line 41
                str     r3, [r1, r0, LSL 2]    
#line 41
                subs    r0, r0, 1              
#line 41
                bhi     LoopAic1
#line 41

#line 41
                b       EndInitAic
#line 41

#line 41

#line 41
AicData
#line 41
                
	.word     AIC_BASE                
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
                IMPORT  at91_default_fiq_handler
#line 41
                IMPORT  at91_default_irq_handler
#line 41
                IMPORT  at91_spurious_handler
#line 41
PtDefaultHandler
#line 41
                
	.word     at91_default_fiq_handler
#line 41
                
	.word     at91_default_irq_handler
#line 41
                
	.word     at91_spurious_handler
#line 41
EndInitAic
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
                mov     r8,RAM_BASE            
#line 41

#line 41
                sub     r9, pc,.-VectorTable+8  
#line 41
                ldmia   r9!, {r0-r7}            
#line 41

#line 41
        #if  defined(SEMIHOSTING                    )
#line 41
                stmia   r8!, {r0-r1}            
#line 41
                add     r8, r8,4               
#line 41
                stmia   r8!, {r3-r7}            
#line 41
        #else                                    
#line 41
                stmia   r8!, {r0-r7}            
#line 41
 
#line 41
        #endif                                   
#line 41
                ldmia   r9!, {r0-r4}            
#line 41
                stmia   r8!, {r0-r4}            
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
                sub     r10, pc,(8+.-InitTableEBI) 
#line 41
                ldr     r12, PtInitRemap        
#line 41

#line 41

#line 41
                ldmia   r10!, {r0-r9,r11}       
#line 41
                stmia   r11!, {r0-r9}           
#line 41

#line 41

#line 41
                mov     pc, r12                 
#line 41

#line 41
PtInitRemap
#line 41
                
	.word     InitRemap               
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
InitRemap
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
#define IRQ_STACK_SIZE           (3*8*4)     
#line 41
#define FIQ_STACK_SIZE           (3*4)       
#line 41
#define ABT_STACK_SIZE           (1*4)       
#line 41
#define UND_STACK_SIZE           (1*4)       
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
#define TOP_EXCEPTION_STACK          RAM_LIMIT           
#line 41
#define TOP_APPLICATION_STACK        EXT_SRAM_LIMIT      
#line 41

#line 41

#line 41

#line 41

#line 41
                ldr     r0, =TOP_EXCEPTION_STACK
#line 41

#line 41

#line 41
                msr     CPSR_c, ARM_MODE_FIQ | I_BIT | F_BIT
#line 41
                mov     r13, r0                     
#line 41
                sub     r0, r0, FIQ_STACK_SIZE
#line 41

#line 41

#line 41
                msr     CPSR_c, ARM_MODE_IRQ | I_BIT | F_BIT
#line 41
                mov     r13, r0                     
#line 41
                sub     r0, r0, IRQ_STACK_SIZE
#line 41

#line 41

#line 41
                msr     CPSR_c, ARM_MODE_ABORT | I_BIT | F_BIT
#line 41
                mov     r13, r0                     
#line 41
                sub     r0, r0, ABT_STACK_SIZE
#line 41

#line 41

#line 41
                msr     CPSR_c, ARM_MODE_UNDEF | I_BIT | F_BIT
#line 41
                mov     r13, r0                     
#line 41
                sub     r0, r0, UND_STACK_SIZE
#line 41

#line 41

#line 41
                msr     CPSR_c, ARM_MODE_SVC | I_BIT | F_BIT
#line 41
                mov     r13, r0                     
#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41

#line 41
                msr     CPSR_c, ARM_MODE_USER      
#line 41
                ldr     r13, =TOP_APPLICATION_STACK 
#line 41
                
#line 41

#line 41

#line 41

#line 41

#line 41
.weak __ghsbegin_bss
#line 41
.weak __ghsend_bss
#line 41

#line 41
                ldr         r1, =__ghsend_bss     
#line 41
                ldr         r3, =__ghsbegin_bss   
#line 41
		mov         r2, 0
#line 41
LoopZI          
#line 41
		cmp         r3, r1                 
#line 41
                strcc       r2, [r3], 4
#line 41
                bcc         LoopZI      
#line 41

#line 41

#line 41

#line 41
.weak __ghsbegin_sbss
#line 41

⌨️ 快捷键说明

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