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

📄 system_.s

📁 S3C6410 Startup Code,包括nand和onenand2种启动代码
💻 S
字号:
;/*************************************************************************************
; 
;	Project Name : S3C6410 Validation
;
;	Copyright 2006 by Samsung Electronics, Inc.
;	All rights reserved.
;
;	Project Description :
;		This software is only for validating functions of the S3C6410.
;		Anybody can use this software without our permission.
;  
;--------------------------------------------------------------------------------------
; 
;	File Name : system_.s
;  
;	File Description : This file implements CP15 control.
;
;	Author	: Haksoo,Kim
;	Dept. : AP Development Team
;	Created Date : 2006/11/08
;	Version : 0.1 
; 
;	History
;	- Created(Haksoo,Kim 2006/11/08)
;  
;*************************************************************************************/

				GET option.inc
				AREA	|C$$code|, CODE, READONLY

;============================
;	ISR Routine
;============================

	EXPORT	ExceptionIRQ

ExceptionIRQ
	sub		sp,sp,#4			; reserved for PC
	stmfd	sp!,{r8-r9}    
	ldr		r9,=0x4a000014		; rINTOFFSET
	ldr		r9,[r9]
	ldr		r8,=Exception_Vector + 0x20
	add		r8,r8,r9,lsl #2
	ldr		r8,[r8]
	str		r8,[sp,#8]
	ldmfd	sp!,{r8-r9,pc}

	LTORG
	
	
;;===============================================================================
;;
;;	Exception
;;
						EXPORT	SYSTEM_EnableVIC
SYSTEM_EnableVIC		PROC
						mrc 	p15,0,r0,c1,c0,0
						orr 	r0,r0,#(1<<24)
						mcr 	p15,0,r0,c1,c0,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_DisableVIC
SYSTEM_DisableVIC		PROC
						mrc 	p15,0,r0,c1,c0,0
						bic 	r0,r0,#(1<<24)
						mcr 	p15,0,r0,c1,c0,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_EnableIRQ
SYSTEM_EnableIRQ		PROC
						mrs		r0,cpsr
						bic		r0,r0,#(1<<7)
						msr		cpsr_cxsf,r0             
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_DisableIRQ				
SYSTEM_DisableIRQ		PROC
						mrs		r0,cpsr
						orr		r0,r0,#(1<<7)
						msr		cpsr_cxsf,r0             
						mov		pc,lr
						ENDP
				
				

						EXPORT	SYSTEM_EnableFIQ
SYSTEM_EnableFIQ		PROC
						mrs		r0,cpsr
						bic		r0,r0,#(1<<6)
						msr		cpsr_cxsf,r0             
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_DisableFIQ
SYSTEM_DisableFIQ		PROC
						mrs		r0,cpsr
						orr		r0,r0,#(1<<6)
						msr		cpsr_cxsf,r0             
						mov		pc,lr
						ENDP
;;
;;===============================================================================

;;===============================================================================
;;
;;	MMU/Cache
;;
					 
						EXPORT	SYSTEM_EnableBP
SYSTEM_EnableBP			PROC				
						mrc		p15,0,r0,c1,c0,0
						orr		r0,r0,#(1<<11)
						mcr		p15,0,r0,c1,c0,0
						mov		pc,lr
						ENDP
				
						EXPORT	SYSTEM_EnableICache
SYSTEM_EnableICache		PROC				
						mrc		p15,0,r0,c1,c0,0
						orr		r0,r0,#(1<<12)
						mcr		p15,0,r0,c1,c0,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_DisableICache
SYSTEM_DisableICache	PROC
						mrc		p15,0,r0,c1,c0,0
						bic		r0,r0,#(1<<12)
						mcr		p15,0,r0,c1,c0,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_EnableDCache
SYSTEM_EnableDCache		PROC
						mrc		p15,0,r0,c1,c0,0
						orr		r0,r0,#(1<<2)
						mcr		p15,0,r0,c1,c0,0
						mov		pc,lr
		   				ENDP


						EXPORT	SYSTEM_DisableDCache
SYSTEM_DisableDCache	PROC
						mrc		p15,0,r0,c1,c0,0
						bic		r0,r0,#(1<<2)
						mcr		p15,0,r0,c1,c0,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_InvalidateEntireICache
SYSTEM_InvalidateEntireICache	PROC
						mov		r0,#0
						mcr		p15,0,r0,c7,c5,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_InvalidateEntireDCache
SYSTEM_InvalidateEntireDCache	PROC
						mov		r0,#0
						mcr		p15,0,r0,c7,c6,0
						mov		pc,lr
						ENDP
				
				
						EXPORT	SYSTEM_InvalidateBothCache
SYSTEM_InvalidateBothCache	PROC
						mov		r0,#0
						mcr		p15,0,r0,c7,c7,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_CleanEntireDCache
SYSTEM_CleanEntireDCache	PROC
						mov		r0,#0
						mcr		p15,0,r0,c7,c10,0
						mov		pc,lr
						ENDP

				
						EXPORT	SYSTEM_CleanInvalidateEntireDCache
SYSTEM_CleanInvalidateEntireDCache	PROC
						mov		r0,#0
						mcr		p15,0,r0,c7,c14,0
						mov		pc,lr
						ENDP



						EXPORT	SYSTEM_EnableMMU
SYSTEM_EnableMMU		PROC
						mrc		p15,0,r0,c1,c0,0
						orr		r0,r0,#(1<<0)
						mcr		p15,0,r0,c1,c0,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_DisableMMU
SYSTEM_DisableMMU		PROC
						mrc		p15,0,r0,c1,c0,0
						bic		r0,r0,#(1<<0)
						mcr		p15,0,r0,c1,c0,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_InvalidateTLB
SYSTEM_InvalidateTLB	PROC
						mov		r0,#0x0     
						mcr		p15,0,r0,c8,c7,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_SetTTBase
SYSTEM_SetTTBase		PROC				;	r0=TTBase
						mcr		p15,0,r0,c2,c0,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_SetDomain
SYSTEM_SetDomain		PROC				;	r0=Domain
						mcr		p15,0,r0,c3,c0,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_SetFCSEPID
SYSTEM_SetFCSEPID		PROC        		;	r0= FCSEPID
						mcr		p15,0,r0,c13,c0,0
						mov		pc,lr
						ENDP
   

						EXPORT	SYSTEM_EnableAlignFault
SYSTEM_EnableAlignFault	PROC
						mrc		p15,0,r0,c1,c0,0
						orr		r0,r0,#(1<<1)
						mcr		p15,0,r0,c1,c0,0
						mov		pc,lr
		   				ENDP


						EXPORT	SYSTEM_DisableAlignFault
SYSTEM_DisableAlignFault	PROC
						mrc		p15,0,r0,c1,c0,0
						bic		r0,r0,#(1<<1)
						mcr		p15,0,r0,c1,c0,0
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_ReadDFSR
SYSTEM_ReadDFSR			PROC
						mrc		p15,0,r0,c5,c0,0
						mov		pc,lr
						ENDP
				

						EXPORT	SYSTEM_ReadIFSR
SYSTEM_ReadIFSR			PROC
						mrc		p15,0,r0,c5,c0,1
						mov		pc,lr
						ENDP


						EXPORT	SYSTEM_ReadFAR
SYSTEM_ReadFAR			PROC
						mrc		p15,0,r0,c6,c0,0
						mov		pc,lr
						ENDP   
;;
;;===============================================================================

				END

⌨️ 快捷键说明

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