s3c2440_driver.rar

源代码在线查看: profile.c

软件大小: 4338 K
上传用户: nokie66722
关键词: driver 2440
下载地址: 免注册下载 普通下载 VIP

相关代码

				/**************************************************************
				 NAME: profile.c
				 DESC: To measuure the USB download speed, the WDT is used.
				       To measure up to large time, The WDT interrupt is used.
				 HISTORY:
				 MAR.25.2002:purnnamu:  
				     S3C2400X profile.c is ported for S3C2410X.
				 **************************************************************/
				#include "def.h"
				#include "option.h"
				#include "2440addr.h"
				#include "2440lib.h"
				#include "2440slib.h" 
				
				#include 
				#include 
				#include 
				#include 
				#include 
				
				/************************* Timer ********************************/
				static int intCount;
				
				void __irq IsrWatchdog(void);
				
				void Timer_InitEx(void)
				{
					intCount=0;	
					pISR_WDT_AC97=(U32)IsrWatchdog;
					ClearPending(BIT_WDT_AC97);
					rSUBSRCPND=BIT_SUB_WDT;
					rINTMSK&=~(BIT_WDT_AC97);
					rINTSUBMSK&=~(BIT_SUB_WDT);
				}
				
				
				void Timer_StartEx(void)
				{
					int divider=0;
					rWTCON=((PCLK/1000000-1)					rWTDAT=0xffff;
					rWTCNT=0xffff;   
				
					// 1/16/(65+1),interrupt enable,reset disable,watchdog enable
					rWTCON=((PCLK/1000000-1)				}
				
				
				
				float Timer_StopEx(void)
				{
					int count;
					rWTCON=((PCLK/1000000-1)					rINTMSK|=BIT_WDT_AC97;
					rINTSUBMSK|=BIT_SUB_WDT;
					count=(0xffff-rWTCNT)+(intCount*0xffff);
					return ((float)count*(16e-6));
				}
				
				
				void __irq IsrWatchdog(void)
				{
					 rINTSUBMSK|=BIT_SUB_WDT;
					 rSRCPND = BIT_WDT_AC97;	//Clear pending bit
					 rINTPND = BIT_WDT_AC97;
					 rINTPND;	//Prevent an double interrupt pending
					 rSUBSRCPND=BIT_SUB_WDT;
					 intCount++;   	
					 rINTSUBMSK&=~BIT_SUB_WDT;
				}
				
				
				
							

相关资源