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

📄 2460init.keti.s

📁 三星S3C2460 USB DEVICE /USB HOST 监控代码
💻 S
字号:
;/**
;* Project Name : S3C2460 verification project
;*
;* Copyright 2004 by Samsung Electronics, Inc.
;* All rights reserved.
;*
;* Project Description :
;* This software is only for verifying functions of the S3C2460. 
;* Anybody can use this code without our permission.
;*/

;/**
;* File Name    : 2460init.s
;* Description  : S3C2460 startup code
;* Author       : Y.C.Kwon
;* Dept         : Mobile solution, AP
;* Created Date : 2004.09.16
;* Version      : 0.0
;* History
;*   R0.0 (2004.09.16): Kwon draft
;*/

				GET		Option.inc
				GET		2460addr.inc

				MACRO
$HandlerLabel 	HANDLER		$HandleLabel

$HandlerLabel
				sub		sp,sp,#4        	;decrement sp(to store jump address)
				stmfd	sp!,{r0}        	;PUSH the work register to stack(lr doesnt push because it return to original address)
				ldr     r0,=$HandleLabel	;load the address of HandleXXX to r0
				ldr     r0,[r0]         	;load the contents(service routine start address) of HandleXXX
				str     r0,[sp,#4]      	;store the contents(ISR) of HandleXXX to stack
				ldmfd   sp!,{r0,pc}     	;POP the work register and pc(jump to ISR)

				MEND

	[ (WHICH_PORT=1)
				IMPORT	InitPORT1
	]
				IMPORT	InitPORT2

				IMPORT  __main   			; The main entry of mon program 

				AREA    Init,CODE,READONLY

				ENTRY 

				b		ResetHandler	;handler for Reset  
				b		HandlerUndef	;handler for Undefined mode
				b		HandlerSWI		;handler for SWI interrupt
				b		HandlerPabort	;handler for PAbort
				b		HandlerDabort	;handler for DAbort
				b		.				;reserved
			    b		HandlerIRQ		;handler for IRQ interrupt 
				b		HandlerFIQ		;handler for FIQ interrupt
	
HandlerUndef	HANDLER HandleUndef
HandlerSWI		HANDLER HandleSWI
HandlerPabort	HANDLER HandlePabort
HandlerDabort	HANDLER HandleDabort
HandlerIRQ		HANDLER HandleIRQ		
HandlerFIQ		HANDLER	HandleFIQ


;=======================================================
;						ENTRY  
;=======================================================

ResetHandler

	[ (1=0)
				ldr		r0,=rWTCON			;	Disable WatchDog.
				mov		r1,#0
				str		r1,[r0]			
					
				ldr		r0,=rCLKDIVCON		;	Set Clock Divider
				ldr		r1,[r0]
				bic		r1,r1,#0x10000
				bic		r1,r1,#0x7
				ldr		r2,=((Startup_ARMCLKdiv<<16)|(Startup_PCLKdiv<<2)|(Startup_HCLKdiv)) 
				orr		r1,r1,r2
				str		r1,[r0]			
	
				ldr		r0,=rLOCKTIME0		;	Set MPLL Locktime
				ldr		r1,[r0]
				orr		r1,r1,#0xff00
				orr		r1,r1,#0xff
				str		r1,[r0]			
	
				ldr		r0,=rMPLLCON		;	Set MPLL
				ldr		r1,=((Startup_Mdiv<<16)|(Startup_Pdiv<<8)|(Startup_Sdiv))
				str		r1,[r0]		

				ldr		r0,=rCLKSRCCON		;	Select MPLL clock out for SYSCLK
				ldr		r1,[r0]
				orr		r1,r1,#0x10
				str		r1,[r0]						

	[ (WHICH_PORT=1)
				bl		InitPORT1
	]
	]
	[	(1=1)
				ldr		r0,=rWTCON			;	Disable WatchDog.
				ldr		r1,=0x0
				str		r1,[r0]
				
				ldr		r0,=0x40000000
				ldr		r1,=0x0fff0fff
				str		r1,[r0]
				
				ldr		r0,=0x40000028
				ldr		r1,=0x00002000
				str		r1,[r0]
				
				ldr		r0,=0x40000024
				ldr		r1,=0x00001005
				str		r1,[r0]
				
				ldr		r0,=0x40000010
				ldr		r1,=0x004d0300
				str		r1,[r0]
				
				ldr		r0,=0x40000020
				ldr		r1,=0x10
				str		r1,[r0]
				
				ldr		r0,=0x40ce0004
				ldr		r1,=0x8
				str		r1,[r0]
				
				ldr		r0,=0x40c20000
				ldr		r1,=0x1c0
				str		r1,[r0]
				
				ldr		r0,=0x40c40004
				ldr		r1,=0x40c
				str		r1,[r0]
				
				ldr		r0,=0x40c40004
				ldr		r1,=0x40d
				str		r1,[r0]
				
				ldr		r0,=0x40c40008
				ldr		r1,=0xf
				str		r1,[r0]
				
				ldr		r0,=0x40c40008
				ldr		r1,=0x30c
				str		r1,[r0]
				
				ldr		r0,=0x40c40000
				ldr		r1,=0x299fad
				str		r1,[r0]
				
				ldr		r0,=0x40c40004
				ldr		r1,=0x40e
				str		r1,[r0]
				
				ldr		r0,=0x40c40004
				ldr		r1,=0x40f
				str		r1,[r0]
				
				ldr		r0,=0x40c40004
				ldr		r1,=0x40c
				str		r1,[r0]
	]
				bl		InitPORT2
				
				ldr		r0,=rSROM_BC0
				ldr		r1,=(3<<8)
				str		r1,[r0]

			   	bl		__main
			   	b		.

				LTORG


			   	ALIGN

			   	AREA IntVector, DATA, READWRITE

				^   _ISR_STARTADDRESS

HandleReset 	#   4
HandleUndef 	#   4
HandleSWI   	#   4
HandlePabort    #   4
HandleDabort    #   4
HandleReserved  #   4
HandleIRQ   	#   4
HandleFIQ   	#   4

		        END

⌨️ 快捷键说明

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