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

📄 startup.s

📁 SmartARM2400系列开发板全套资料
💻 S
📖 第 1 页 / 共 2 页
字号:
        LDR		R0, =EMCStaticConfig0 
        STMIA   R0!, {R1-R7}  
 
        LDR     R1, =STATICCFG1		                                    ;/* 配置EMCStaticConfig1        */
        LDR     R2, =WAITWEN1			                                ;/* 配置EMCStaticWaitWen1       */
        LDR     R3, =WAITOEN1		                                    ;/* 配置EMCStaticWaitOen1       */
        LDR     R4, =WAITRD1		    	                            ;/* 配置EMCStaticWaitRd1        */
        LDR     R5, =WAITPAGE1			                                ;/* 配置EMCStaticWaitPage1      */
        LDR     R6, =WAITWR1	    		                            ;/* 配置EMCStaticWaitWr1        */			   
        LDR     R7, =WAITTURN1			                                ;/* 配置EMCStaticWaitTurn1      */
        LDR		R0, =EMCStaticConfig1
        STMIA   R0!, {R1-R7}
    
        LDR     R1, =STATICCFG2		                                    ;/* 配置EMCStaticConfig2        */
        LDR     R2, =WAITWEN2			                                ;/* 配置EMCStaticWaitWen2       */
        LDR     R3, =WAITOEN2		                                    ;/* 配置EMCStaticWaitOen2       */
        LDR     R4, =WAITRD2		    	                            ;/* 配置EMCStaticWaitRd2        */
        LDR     R5, =WAITPAGE2			                                ;/* 配置EMCStaticWaitPage2      */
        LDR     R6, =WAITWR2	    		                            ;/* 配置EMCStaticWaitWr2        */			   
        LDR     R7, =WAITTURN2			                                ;/* 配置EMCStaticWaitTurn2      */
        LDR		R0, =EMCStaticConfig2       
        STMIA   R0!, {R1-R7}  
        
        LDR     R1, =STATICCFG3		                                    ;/* 配置EMCStaticConfig3        */
        LDR     R2, =WAITWEN3			                                ;/* 配置EMCStaticWaitWen3       */
        LDR     R3, =WAITOEN3		                                    ;/* 配置EMCStaticWaitOen3       */
        LDR     R4, =WAITRD3		    	                            ;/* 配置EMCStaticWaitRd3        */
        LDR     R5, =WAITPAGE3			                                ;/* 配置EMCStaticWaitPage3      */
        LDR     R6, =WAITWR3	    		                            ;/* 配置EMCStaticWaitWr3        */			   
        LDR     R7, =WAITTURN3			                                ;/* 配置EMCStaticWaitTurn3      */
        LDR		R0, =EMCStaticConfig3
        STMIA   R0!, {R1-R7}
        BL      InitStack               		                        ;/*  初始化堆栈                 */
        BL      TargetResetInit         		                        ;/*  目标板基本初始化           */       

        B       __main                                                  ;/*  跳转到c语言入口            */
                    		                            
;/********************************************************************************************************
;** Function name:          __user_initial_stackheap
;**
;** Descriptions:           库函数初始化堆和栈,不能删除
;**
;** input parameters:       参考库函数手册
;** Returned value:         参考库函数手册
;**
;** Created by:             Chenmingji
;** Created Date:           2004/02/02
;**-------------------------------------------------------------------------------------------------------
;** Modified by:            LinEnqiang
;** Modified date:          2008-01-15
;**-------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
__user_initial_stackheap    
    LDR   R0, =bottom_of_heap		
    ;LDR   R1, =StackUsr			
    LDR   R2, =top_of_heap		
    LDR   R3, =bottom_of_Stacks	      
    MOV   PC, LR

    EXPORT _sys_exit
_sys_exit
    B       .

    EXPORT __rt_div0
    EXPORT fputc
    EXPORT fgetc
    EXPORT _sys_close
    EXPORT _sys_write
    EXPORT _sys_read
    EXPORT _sys_istty
    EXPORT _sys_seek
    EXPORT _sys_ensure
    EXPORT _sys_flen
    EXPORT _sys_tmpnam
    EXPORT _sys_command_string

__rt_div0
fputc
fgetc
_sys_close
_sys_write
_sys_read
_sys_istty
_sys_seek
_sys_ensure
_sys_flen
_sys_tmpnam
_sys_command_string
    NOP	
    MOV     R0, #0
    MOV     PC, LR		
    
;/********************************************************************************************************
;** Function name:          CrpData
;**
;** Descriptions:           加密芯片
;**
;** input parameters:       NONE
;** Returned value:         NONE
;**
;** Created by:             Chenmingji
;** Created Date:           2004/03/27 
;**-------------------------------------------------------------------------------------------------------
;** Modified by:            
;** Modified date:          
;**-------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
    IF :DEF: EN_CRP
        IF  . >= 0x1fc
        INFO    1,"\nThe data at 0x000001fc must be 0x87654321.\nPlease delete some source before this line."
        ENDIF
CrpData
    WHILE . < 0x1fc
    NOP
    WEND
CrpData1
    DCD     0x87654321                                                  ;/*  当此数为0x87654321时,用户 */
                                                                        ;/*  程序被保护                 */
    ENDIF
;/********************************************************************************************************
;** Function name:          InitStack
;**
;** Descriptions:           初始化堆栈
;**
;** input parameters:       None
;** Returned value:         None
;**
;** Created by:             Chenmingji
;** Created Date:           2004/02/02
;**-------------------------------------------------------------------------------------------------------
;** Modified by:            LinEnqiang
;** Modified date:          2008-01-15
;**-------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
InitStack    
        MOV     R0, LR                
;Build the SVC stack
;设置管理模式堆栈
        MSR     CPSR_c, #0xd3		
        LDR     SP, StackSvc
;Build the IRQ stack
;设置中断模式堆栈
        MSR     CPSR_c, #0xd2
        LDR     SP, StackIrq
;Build the FIQ stack	
;设置快速中断模式堆栈
        MSR     CPSR_c, #0xd1
        LDR     SP, StackFiq
;Build the DATAABORT stack
;设置中止模式堆栈
        MSR     CPSR_c, #0xd7
        LDR     SP, StackAbt
;Build the UDF stack
;设置未定义模式堆栈
        MSR     CPSR_c, #0xdb
        LDR     SP, StackUnd
;Build the SYS stack
;设置系统模式堆栈
        MSR     CPSR_c, #0xd0
        LDR     SP, =StackUsr              
        MOV     PC, R0
               
    LTORG
StackSvc           DCD     SvcStackSpace  + (SVC_STACK_LEGTH - 1) * 4
StackIrq           DCD     IrqStackSpace  + (IRQ_STACK_LEGTH - 1) * 4
StackFiq           DCD     FiqStackSpace  + (FIQ_STACK_LEGTH - 1) * 4
StackAbt           DCD     AbtStackSpace  + (ABT_STACK_LEGTH - 1) * 4
StackUnd           DCD     UndtStackSpace + (UND_STACK_LEGTH - 1) * 4    
    
        AREA    MyStacks, DATA, NOINIT, ALIGN = 2;                      ;/*  分配堆栈空间               */    
        
SvcStackSpace      SPACE   SVC_STACK_LEGTH * 4                          ;/*  管理模式堆栈空间           */
IrqStackSpace      SPACE   IRQ_STACK_LEGTH * 4                          ;/*  中断模式堆栈空间           */
FiqStackSpace      SPACE   FIQ_STACK_LEGTH * 4                          ;/*  快速中断模式堆栈空间       */
AbtStackSpace      SPACE   ABT_STACK_LEGTH * 4                          ;/*  中止义模式堆栈空间         */
UndtStackSpace     SPACE   UND_STACK_LEGTH * 4                          ;/*  未定义模式堆栈             */   

        AREA    HeapBottom, DATA, NOINIT
bottom_of_heap    	SPACE   1

        AREA    StackBottom, DATA, NOINIT
bottom_of_Stacks    SPACE   1

        AREA    HeapTop, DATA, NOINIT
top_of_heap

        AREA    StacksTop, DATA, NOINIT
StackUsr  
    END
    
;/********************************************************************************************************
;**                            End Of File
;********************************************************************************************************/

⌨️ 快捷键说明

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