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

📄 startup.s

📁 s3c2410平台下USB驱动的源代码:USB1.1协议及S3C2410 USB device实验
💻 S
字号:
;/*
;**********************************************************************************************************
;*                                               
;*		    		     			S3C2410 ARM920T BOARD                                         
;*                                        
;*                              (c) Copyright 2003-2015, KANGSHUO
;*                                          All Rights Reserved
;*          
;*                               S3C2410 Initialization Program for 1.0
;*
;* File  Name 	: UARTTEST
;* By    Write	: KANGSHUO(LEA)
;* First Write	: 2004-09-14
;* Last  Write	: 2004-09-15 
;* where Write	: Room B201 Shenzhen International Tech-innovation Academy, Kejinan 10 Road,
;*		   			High-Tech Industrial Park,Shenzhen,China.
;* Function	: TEST S3C2410 BOARD UART0
;*							
;*												
;*				
;**********************************************************************************************************
;*/

;/*
;**********************************************************************************************************
;*                               		IMPORTANT ITEMS
;* 1. CPU frequence is 66M Hz
;* 2. 立即数的规范
;* 3. 
;*
;**********************************************************************************************************
;*/

;/*
;**********************************************************************************************************
;*                              ERROR AND SOLUTION IN DEBUGING
;* 1.    ERROR: 
;*    SOLUTION: 
;**********************************************************************************************************
;*/

;/*
;**********************************************************************************************************
;*                        TO DO LIST
;*  2003.07.16
;*  1. CPU的基本初始化
;*		a) 中断屏蔽
;*		b) 看门狗设置,初始化是要将其屏蔽掉,初始化完之后再将其打开
;*		c) 设置CPU时钟速度
;*		d) 初始化内存
;*			......
;*  2. 跳至板级初始化,完成更高级的初始化工作
;*  3.
;*  4.
;**********************************************************************************************************
;*/

	INCLUDE		INTDEF.S
	INCLUDE		2410ADDR.S
	
    CODE32

	IMPORT		INT_IRQ

	AREA    STARTUP,CODE,READONLY
	
;/*
;**********************************************************************************************************
;*												ENTRY
;*
;* 	功能描述:初始化程序入口点
;*
;*
;**********************************************************************************************************
;*/	
	ENTRY
	
START
		B		INT_Reset
		
		LDR 	PC, Undefined_Addr
		LDR 	PC, SWI_Addr
		LDR 	PC, Prefetch_Addr
		LDR 	PC, Abort_Addr
		NOP
		LDR 	PC,	IRQ_Addr
		LDR 	PC, FIQ_Addr
		
Undefined_Addr 	DCD 	Undefined_Handler				;// 0x04
SWI_Addr 	DCD 	SWI_Handler						;// 0x08
Prefetch_Addr 	DCD 	Prefetch_Handler				;// 0x0c
Abort_Addr	DCD	Abort_Handler					;// 0x10
		DCD	0 								;// Reserved vector  0x14
IRQ_Addr	DCD	INT_IRQ							;// 0x18
FIQ_Addr	DCD	FIQ_Handler						;// 0x1c

;/*
;**********************************************************************************************************
;*											IMPORT	ITEM
;* 描述:1. ARM上电启动后进入管理模式
;*		 2. ARM复位后进入管理模式
;*		 3.
;**********************************************************************************************************
;*/
	
	EXPORT	Undefined_Handler
Undefined_Handler
	B	Undefined_Handler

	EXPORT	SWI_Handler
SWI_Handler
	B	SWI_Handler

	EXPORT	Prefetch_Handler
Prefetch_Handler
	B 	Prefetch_Handler

	EXPORT	Abort_Handler
Abort_Handler
	B	Abort_Handler
	
	EXPORT	FIQ_Handler
FIQ_Handler
	B	FIQ_Handler
		
;/*                                                                                                        
;********************************************************************************************************** 
;*                  							INT_Reset                                                       
;*                                                                                                         
;* Description: 初始化CPU相关的寄存器                                                               
;*                                                                                                         
;* Arguments  :                                                                                            
;*                                                                                                         
;* Returns    :                                                                                            
;*                                                                                                         
;********************************************************************************************************** 
;*/
	                                                                                                        
	EXPORT	INT_Reset
INT_Reset
		
;//	模式转换为系统模式,		
		MRS		R0,CPSR
		BIC		R0,R0,#MODE_MASK
		ORR		R0,R0,#MODE_SYS
		ORR		R0,R0,#INTLOCK
		
		MSR		CPSR_cxsf,R0
		
;//	硬件屏蔽中断			
		LDR		R0,=INTMSK
		LDR		R1,= 0xFFFFFFFF
		STR		R1,[R0,#0]
		LDR		R0,=INTSUBMSK
		LDR		R1,=0X7FF
		STR		R1,[R0]	

;// 屏蔽看门狗	****注意立即数规范****    	
	LDR		R0, =WTCON     
    	LDR	    R1, = 0x0 		
    	STR	    R1, [R0]
    	    	
;// PLL稳定输出时间    	
    	ldr		r0,= LOCKTIME
    	ldr		r1,= 0xffffff
    	str		r1,[r0]
    
;// 设置CPU工作频率 Fin = 10MHz, Fout = 90MHz
    	LDR R0,=MPLLCON
    	LDR R1,=0X70022
    	STR R1,[R0]
    	
;// 设置时钟对所有的片内外设有效    	
    	
    	LDR	    r0,=CLKCON		 
    	LDR	    r1,= 0x7FFF0   	
    	STR	    r1,[r0]
    	    	
;//关闭MMU
		
		;LDR		R0, = r_SYSCFG
		;MOV		r1,#0x8
		;//MOV		R1,#0x0E
		;STR		R1,[R0]
		;mask the mmu and cache
                MOV R0,#0
        MCR p15,0,R0,c1,c0,0
   	
;//设置内存控制寄存器,配置内存参数,初始化内存
    	LDR R0,=BWSCON
    	LDR R1,=0X22111110
    	STR R1,[R0]
    	LDR R0,=BANKCON0
    	LDR R1,=0X700
    	STR R1,[R0]
    	LDR R0,=BANKCON6
    	LDR R1,=0X18005
    	STR R1,[R0]
    	LDR R0,=BANKCON7
    	LDR R1,=0x18005
    	STR R1,[R0]
    	LDR R0,=REFRESH
    	LDR R1,=0X8E0459
    	STR R1,[R0]
    	LDR R0,=BANKSIZE
    	LDR R1,=0X32
    	STR R1,[R0]
    	LDR R0,=MRSRB6
    	LDR R1,=0X30
    	STR R1,[R0]
    	LDR R0,=MRSRB7
    	LDR R1,=0X30
    	STR R1,[R0]
   	;//int 初始化,选择int中断使能USB Device中断	        
    LDR R0,=INTMOD
    LDR R1,=0X0 
    STR R1,[R0]
    LDR R0,=PRIORITY
    LDR R1,=0X0
    STR R1,[R0]
    LDR R0,=INTMSK
    LDR R1,=0XFDFFFFFF
    STR R1,[R0]
    LDR R0,=INTSUBMSK
    LDR R1,=0X5FC
    STR R1,[R0]          

 
 
;/*                                                                                                        
;********************************************************************************************************** 
;*                  						INT_Intialize                                                                                                                                                          
;* Function   : 进行更高极的初始化工作                                                                                           
;*                                                                                                         
;* Returns    :	NO                                                                                            
;*                                                                                                         
;********************************************************************************************************** 
;*/	
	
	IMPORT		INT_Intialize
		B		INT_Intialize 		

	END

⌨️ 快捷键说明

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