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

📄 cstartup.paf.arm

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

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26
;.section ".reset","ax" 
;.reset
#line 27
#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26
                EXPORT      __main
#line 26
__main
#line 26

#line 26

#line 26

#line 26

#line 26

#line 26
                B           InitReset       
#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

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

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26
InitReset
#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26
                bl      __low_level_init
#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26
                sub     r10, pc,8+.-InitTableEBI 
#line 26

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

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

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

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26
#define TOP_EXCEPTION_STACK          RAM_LIMIT           
#line 26
#define TOP_APPLICATION_STACK        EXT_SRAM_LIMIT      
#line 26

#line 26

#line 26

#line 26

#line 26
                ldr     r0, =TOP_EXCEPTION_STACK
#line 26

#line 26

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

#line 26

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

#line 26

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

#line 26

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

#line 26

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

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

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

#line 26

#line 26

#line 26
.weak __ghsbegin_bss
#line 26
.weak __ghsend_bss
#line 26

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

#line 26

#line 26

#line 26
.weak __ghsbegin_sbss
#line 26
.weak __ghsend_sbss
#line 26

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

#line 26
        #if  defined(SEMIHOSTING)
#line 26

#line 26

#line 26

#line 26

#line 26

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

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

#line 26
         #else                                
#line 26
         
#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26

#line 26
                IMPORT      main
#line 26

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

#line 26

#line 26

#line 26

#line 26

#line 26

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

#line 26
#line 27
#line 27

#line 28

#line 29

#line 30

#line 31

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

#line 36

#line 37

#line 38

#line 39

#line 40

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

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

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

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
                EXPORT      __main
#line 42
__main
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

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

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

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

#line 42

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

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

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

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

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
InitReset
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

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

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

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
                bl      __low_level_init
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

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

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

#line 42

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

#line 42

#line 42

#line 42

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

#line 42

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

#line 42
                b       EndInitAic
#line 42

#line 42

#line 42
AicData
#line 42
                
	.word     AIC_BASE                
#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

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

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42

#line 42
                mov     r8,RAM_BASE            
#line 42

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

#line 42
        #if  defined(SEMIHOSTING                    )
#line 42

⌨️ 快捷键说明

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