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

📄 system_.s

📁 s3c6410基于USB OTG下载内核至NORFLASH的源代码
💻 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)
;  
;*************************************************************************************/


				AREA	|C$$code|, CODE, READONLY
;;===============================================================================
;;
;;	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
;;
;;===============================================================================
			   EXPORT Stop_WFI_Test
Stop_WFI_Test		 PROC
						;stmfd	sp!, {r0-r13}
						stmfd	sp!, {r0-r6}

						ldr r5, =0x7E00FA1C		; Inform7
						ldr r6, [r5]		 
						mov r0, #0
						ldr r1, =0x7E00F90C

						mov r3, #0
						mov r4, #0

					 
LOOP_STOP					 
						add r3, r3, #1
						cmp r3, #0x2
						blt Wait_BLK_PWR1


						mcr p15,0,r0,c7,c10,5 ; Data Memory Barrier
						mcr p15,0,r0,c7,c10,4 ; test, Data Sync. Barrier 

						mcr p15,0,r0,c7,c0,4
   					   					 
   					 
Wait_BLK_PWR1
						ldr r2, [r1]
						;cmp r2, #0x7F
						;cmp r2, #0x51
						cmp r2, r6
						bne Wait_BLK_PWR1

						add r4, r4, #1
						cmp r4, #2
						blt LOOP_STOP
								
						ldmfd sp!, {r0-r6}
										 
						mov pc,lr
						ENDP



			   			EXPORT MMU_WaitForInterrupt
MMU_WaitForInterrupt PROC
						mov r0, #0
					 
						mcr p15,0,r0,c7,c10,5 ; Data Memory Barrier
						mcr p15,0,r0,c7,c10,4 ; test, Data Sync. Barrier 
						;mcr p15,0,r0,c7,c5,4	; Flush Prefetch Buffer

						mcr p15,0,r0,c7,c0,4

						;for test
						;nop
						;nop
						;nop
						;bl SYSTEM_EnableIRQ

						;ldr r1, =0x71200014
						;ldr r2, =0xffffffff
						;str r2, [r1]

						;ldr r1, =0x71200F00
						;ldr r2, =0x0
						;str r2, [r1]

							 
						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 + -