亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? idle.c

?? 三星給予ARM920T內核的S3C2413的demo版本
?? C
字號:
/*****************************************
  NAME: idle.c
  DESC: IDLE mode test
  HISTORY:
  03.23.2002:purnnamu: first release for 2410
  06.02.2003:DonGo: Modified for 2442
 *****************************************/

#include "def.h"
#include "option.h"
#include "2413addr.h"
#include "Console.h"
#include "System.h" 
#include "MMUCache.h"
#include "idle.h"


#define TESTYEAR 	(0x00)
#define TESTMONTH 	(0x12)
#define TESTDATE        (0x31)
#define TESTDAY         (0x06)  // SUN:1 MON:2 TUE:3 WED:4 THU:5 FRI:6 SAT:7   
#define TESTHOUR	(0x23)
#define TESTMIN		(0x59)
#define TESTSEC		(0x59)

#define TESTYEAR2	(0x01)
#define TESTMONTH2 	(0x01)
#define TESTDATE2	(0x01)
#define TESTDAY2	(0x07)  // SUN:1 MON:2 TUE:3 WED:4 THU:5 FRI:6 SAT:7   
#define TESTHOUR2	(0x00)
#define TESTMIN2	(0x00)
#define TESTSEC2	(0x00)

unsigned int eint;


void SetAlarmWakeUp(void)
{
	rRTCCON = 0x1;	// R/W enable, 1/32768, Normal(merge), No reset

	rBCDYEAR = TESTYEAR;
	rBCDMON  = TESTMONTH;
	rBCDDAY  = TESTDAY;	// SUN:1 MON:2 TUE:3 WED:4 THU:5 FRI:6 SAT:7
	rBCDDATE = TESTDATE;
	rBCDHOUR = TESTHOUR;
	rBCDMIN  = TESTMIN;
	rBCDSEC  = TESTSEC;
	
	rALMYEAR=TESTYEAR2 ;
	rALMMON =TESTMONTH2;
	rALMDATE=TESTDATE2  ;
	rALMHOUR=TESTHOUR2 ;
	rALMMIN =TESTMIN2  ;
	rALMSEC =TESTSEC2+0x5;

	rRTCALM=0x7f;

	rRTCCON=0x0;   // R/W disable, 1/32768, Normal(merge), No reset
}



static void __irq Eint0Int(void)
 {
    rEINTPEND |= (1<<0);
    ClearPending(BIT_EINT0);
    printf("EINT0 interrupt is occurred for IDLE wake-up.\n");
}

static void __irq Eint11Int(void)
 {
	rPWRMODECON &=~(1<<17); 
    rEINTPEND |= (1<<11);
    rEINTMASK |= ((1<<11)|(1<<0));
    ClearPending(BIT_EINT8_23);
    printf("EINT11 interrupt is occurred for IDLE wake-up.\n");
    eint =1 ;
}

static void __irq AlarmInt(void)
{
    ClearPending(BIT_RTC);
    printf("ALARM interrupt is occurred for IDLE wake-up.\n");
        SetAlarmWakeUp();
    rRTCCON = 0x0;	// R/W disable, but interrupt will be generated.

}


static volatile int t0cnt,t1cnt;

static void __irq Timer0Int(void)
//Timer0 interrupt will be used to test the IDLE mode hard	
{
    ClearPending(BIT_TIMER0);
    t0cnt++;
}

static void __irq Timer1Int(void)
//Timer1 interrupt will be used to test the IDLE mode hard	
{
    ClearPending(BIT_TIMER1);
    t1cnt++;
}




void Eint_test(void)
{

		eint = 0;
	  printf("S3C2413  EINT0 or EINT11. test\n");

    rGPFDN |= (1<<0);
    rGPFCON=rGPFCON & ~(3<<0)|(2<<0); //PF0=EINT0
    rEXTINT0=rEXTINT0&(7<<0)|(0x2<<0); //EINT0=falling edge triggered

    rGPGDN |= (1<<3);
    rGPGCON=rGPGCON & ~(3<<6)|(2<<6); //PG3=EINT11
    rEXTINT1=rEXTINT1&(7<<12)|(0x6<<12); //EINT11=falling edge triggered

    
    pISR_EINT0=(U32)Eint0Int;
    pISR_EINT8_23=(U32)Eint11Int;
    
		// clear pending interrupt1
		
	rEINTPEND |= ((1<<3)|(1<<0));
    rSRCPND = BIT_EINT0|BIT_RTC|BIT_EINT8_23; //to clear the previous pending states
    rINTPND = BIT_EINT0|BIT_RTC|BIT_EINT8_23;
        
    rEINTMASK &= ~((1<<11)|(1<<0));
    rINTMSK &=~(BIT_EINT0|BIT_RTC|BIT_EINT8_23);
    
    while(eint !=1);
	
}

/**********************
 *   IDLE mode test   *
 **********************/

void Test_IdleMode(void)
{
    int i;
    int extintMode;

    printf("[IDLE Mode Test]\n");
    printf("After 10 seconds, S3C2413 will wake up by RTC alarm interrupt.\n");
    printf("S3C2413 will also wake up by EINT0 or EINT11.\n");

    rGPFDN |= (1<<0);
    rGPFCON=rGPFCON & ~(3<<0)|(2<<0); //PF0=EINT0
    rEXTINT0=rEXTINT0&(7<<0)|(0x2<<0); //EINT0=falling edge triggered

    rGPGDN |= (1<<3);
    rGPGCON=rGPGCON & ~(3<<6)|(2<<6); //PG3=EINT11
    rEXTINT1=rEXTINT1&(7<<12)|(0x6<<12); //EINT11=falling edge triggered

    
    pISR_EINT0=(U32)Eint0Int;
    pISR_EINT8_23=(U32)Eint11Int;
    pISR_RTC=(U32)AlarmInt;

	// clear pending interrupt
	rEINTPEND |= ((1<<3)|(1<<0));
    rSRCPND = BIT_EINT0|BIT_RTC|BIT_EINT8_23; //to clear the previous pending states
    rINTPND = BIT_EINT0|BIT_RTC|BIT_EINT8_23;
        
    rEINTMASK &= ~((1<<11)|(1<<0));
    rINTMSK &=~(BIT_EINT0|BIT_RTC|BIT_EINT8_23);

    SetAlarmWakeUp();
    rRTCCON = 0x0;	// R/W disable, but interrupt will be generated.


	//***Enter Idle mode *** : select MMU_IDLE or PWRMODECON//
	//rPWRCFG 	|=(1<<6);	//STADNBYWFI : 00:ignore, 01:idle, 10:stop, 11:sleep mode 
	//MMU_WaitForInterrupt();
	rPWRMODECON |=(1<<17);  //enter IDLE mode.
    
    //***Exit Idle mode ***//

    //for(i=0;i<10;i++);   
        //wait until S3C2400X enters IDLE mode.	
        //wait EINT0 interrupt or RTC alarm interrupt

    rPWRMODECON &=~(1<<17);      
    //turn-off IDLE bit. IDLE bit should be turned off after wake-up.
   
    printf("Return to Normal Mode.\n");
    
    	printf("wake-up= %08x\n", rWKUPSTAT);

	//Check wake-up source
	if( rWKUPSTAT & (1<<0) )		// EINT?
	{
		printf("\n__ Wake-up by EINT\n");
		rWKUPSTAT |= (1<<0);
	}
	else if( rWKUPSTAT & (1<<1) )	// RTC?
	{
		printf("\n__ Wake-up by RTC\n");
		rWKUPSTAT |= (1<<1);
	}
	else if( rWKUPSTAT & (1<<5) )	// BATFLT?
	{
		printf("\n__ Wake-up by nBATFLT\n");
		rWKUPSTAT |= (1<<5);
	}


    rINTMSK=BIT_ALLMSK;
}



void Test_IdleModeHard(void)
{
    int i,j;

       
    printf("[IDLE Mode Hard Test with Timer0]\n");
    printf("S3C2413 will also wake up by EINT0 falling edge.\n");

    Uart_TxEmpty(1);    //Wait until UART0 Tx buffer empty.

    rGPFCON=rGPFCON & ~(3<<0)|(2<<0); //PF0=EINT0
    rEXTINT0=rEXTINT0&(7<<0)|(0x2<<0); //EINT0=falling edge triggered
    
    rSRCPND = BIT_EINT0;
    rINTPND = BIT_EINT0;

    t0cnt=0;t1cnt=0;

    pISR_TIMER0=(U32)Timer0Int; 
    pISR_TIMER1=(U32)Timer1Int;
    pISR_EINT0=(U32)Eint0Int;

    rTCFG0=0x24;		//PRESC01=1,PRESC234=1
    rTCFG1=0x0; 	//TIMER0,1,2,3,4,5= 1/2    
    rTCNTB0=1000;	
    rTCNTB1=2570;
    rTCON=0xa0a;	//T0,T1=manualUpdate,interval mode
    rTCON=0x909;	//Start T0,T1.
    //rTCON=0x00a;
    //rTCON=0x009;
  
    rINTMSK=~(BIT_EINT0|BIT_TIMER0|BIT_TIMER1);
        
    for(i=0;i<100000;i++)
    {
		//***Enter Idle mode ***//
		//rPWRCFG 	|=(1<<6);	//STADNBYWFI : 00:ignore, 01:idle, 10:stop, 11:sleep mode 
		//MMU_WaitForInterrupt();
		rPWRMODECON |=(1<<17);  //enter IDLE mode.
    
    	//***Exit Idle mode ***//

    	//for(i=0;i<10;i++);   
        	//wait until S3C2400X enters IDLE mode.	
        	//wait EINT0 interrupt or RTC alarm interrupt

    	rPWRMODECON &=~(1<<17);      
    	//turn-off IDLE bit. IDLE bit should be turned off after wake-up.

    	if(i%100==0)printf("#");
    }

    rTCON=0x0; //turn the timer off

    rINTMSK=BIT_ALLMSK;
    
    printf("\nt0cnt=%d,t1cnt=%d(t0cnt+t1cnt>=10000)\n",t0cnt,t1cnt);
    printf("Return to Normal Mode.\n");
}


/*********************
 * MMU IDLE mode test *
 *********************/

void Test_MMUIdleMode(void)
{
    int i;
    int extintMode;

    //MMU_SetAsyncBusMode(); //ARM920T should be in the async. Bus mode.

    printf("[MMU IDLE Mode Test]\n");
    printf("This routine tests MMU registser7:Wait for interrupt function.\n");
    printf("After 10 seconds, S3C2413 will wake up by RTC alarm interrupt.\n");
    printf("S3C2413 will also wake up by EINT0.\n");
    //Uart_TxEmpty(1);    //Wait until UART0 Tx buffer empty.

    rGPFCON=rGPFCON & ~(3<<0)|(2<<0); //PF0=EINT0
    rEXTINT0=rEXTINT0&(7<<0)|(0x1<<0); //EINT0=falling edge triggered
    
    pISR_EINT0=(U32)Eint0Int;
    pISR_RTC=(U32)AlarmInt;

    rSRCPND = BIT_EINT0|BIT_RTC; //to clear the previous pending states
    rINTPND = BIT_EINT0|BIT_RTC;
    
    rINTMSK=~(BIT_EINT0|BIT_RTC);
    rINTMSK=~(BIT_RTC);
    rINTMSK=BIT_ALLMSK;

    SetAlarmWakeUp();
    rRTCCON = 0x0;	// R/W disable, but interrupt will be generated.


	rPWRCFG 	|=(1<<6);	//STADNBYWFI : 00:ignore, 01:idle, 10:stop, 11:sleep mode 
    MMU_WaitForInterrupt();
     
    //wait until S3C2400X enters IDLE mode.	
    //wait EINT0 interrupt or RTC alarm interrupt
    for(i=0;i<10;i++);   

    printf("Return to Normal Mode.\n");

    rINTMSK=BIT_ALLMSK;
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色精品天天在线观看视频| 26uuu精品一区二区在线观看| 欧美精品久久久久久久多人混战| 日韩欧美一二区| 1024成人网| 99久久99久久免费精品蜜臀| 亚洲区小说区图片区qvod| 美脚の诱脚舐め脚责91| 日韩精品一区二区在线| 亚洲精品一卡二卡| 成人免费福利片| 精品国产乱子伦一区| 国产又黄又大久久| 国产精品萝li| 成人在线综合网| 亚洲精品免费播放| 91精品国产综合久久精品| 精品一区二区免费在线观看| 久久久久99精品一区| 久久综合久久综合亚洲| 夜夜嗨av一区二区三区四季av| 国精产品一区一区三区mba视频| 久久九九99视频| 久久精品72免费观看| 国产人成一区二区三区影院| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲永久免费av| 在线观看成人小视频| 精品中文字幕一区二区小辣椒| 中文字幕第一区| 欧美日韩高清一区二区不卡| 亚洲精品欧美综合四区| 日韩三级视频在线看| 成人动漫精品一区二区| 三级久久三级久久久| 欧美人狂配大交3d怪物一区| 亚洲一区av在线| 久久久久久一二三区| 欧美丝袜自拍制服另类| 亚洲午夜av在线| 欧美猛男超大videosgay| 国产福利一区二区三区视频在线| 久久九九久久九九| 成熟亚洲日本毛茸茸凸凹| 香蕉乱码成人久久天堂爱免费| 欧美性生活久久| 国产精品99久久久久久久vr| 亚洲成av人在线观看| 国产精品青草久久| 制服.丝袜.亚洲.中文.综合| 99国产精品久久| 国产一区二区在线观看免费| 欧美国产精品一区| 欧美精品电影在线播放| 91片黄在线观看| 国产经典欧美精品| 免费成人在线网站| 午夜电影网一区| 2020国产精品| 欧美一区二区三区啪啪| 国产在线播放一区三区四| 青青草精品视频| 午夜精品免费在线| 亚洲一区免费视频| www久久精品| 日韩欧美国产一二三区| 欧美日韩成人一区二区| 精品视频1区2区3区| 日本韩国一区二区三区| 99久久精品国产一区二区三区| 亚洲综合免费观看高清在线观看| 中文字幕成人av| 欧美日本韩国一区二区三区视频 | 污片在线观看一区二区| 日韩欧美专区在线| 日韩欧美一区在线| 成人高清av在线| 午夜伦欧美伦电影理论片| 精品国产乱码久久久久久久久 | 91.麻豆视频| 国产99一区视频免费| 国产在线观看一区二区| 国产精品18久久久久| 国产成人精品免费| 亚洲成人一区二区在线观看| 国产性天天综合网| 欧美三片在线视频观看| 欧美三级在线播放| 欧美美女bb生活片| 91蝌蚪porny| 在线视频中文字幕一区二区| 国产麻豆精品视频| 成人综合婷婷国产精品久久| 看国产成人h片视频| 激情五月婷婷综合| 亚洲高清视频在线| 日本一区中文字幕| 九九精品一区二区| 亚洲va韩国va欧美va| 久久99精品一区二区三区三区| 亚洲免费av观看| 欧美经典三级视频一区二区三区| 欧美一区二区三区视频免费播放| 在线一区二区三区四区五区| 欧美另类一区二区三区| 91麻豆成人久久精品二区三区| 欧美在线观看视频一区二区三区| 精品视频1区2区| 欧美亚洲高清一区| 99精品在线免费| 91精品国产日韩91久久久久久| 亚洲精品一线二线三线无人区| 欧美高清在线视频| 精品久久久久久无| 综合自拍亚洲综合图不卡区| 午夜视频在线观看一区二区| 韩国视频一区二区| 色狠狠av一区二区三区| 精品国产免费久久 | 日本成人在线电影网| 亚洲一线二线三线视频| 一区二区三区四区av| 亚洲人成精品久久久久| 中文字幕一区在线| 国产精品久久久久久久久图文区| 久久久久九九视频| 国产欧美综合在线| 丝袜美腿亚洲一区二区图片| 视频在线观看一区二区三区| 懂色一区二区三区免费观看| 欧美日韩一区视频| 欧美—级在线免费片| 午夜精品久久久久久久久| 成人激情免费网站| 欧美成人三级在线| 亚洲图片欧美综合| 偷拍一区二区三区四区| av在线不卡观看免费观看| 91精品国产麻豆| 亚洲免费观看高清| 成人国产亚洲欧美成人综合网| 不卡一区二区中文字幕| 色综合天天综合狠狠| 欧洲国产伦久久久久久久| 国产精品天干天干在观线| 综合久久久久久久| 国产成人精品亚洲777人妖| 91精品国产全国免费观看| wwww国产精品欧美| 丝袜美腿高跟呻吟高潮一区| 91香蕉视频污| 国产精品毛片久久久久久| 亚洲黄色av一区| 免费精品99久久国产综合精品| 91极品美女在线| 亚洲激情六月丁香| 久久99精品视频| 99久久精品免费看国产| 国产欧美精品一区aⅴ影院| 久久成人av少妇免费| 7777女厕盗摄久久久| 久久精品夜色噜噜亚洲aⅴ| 免费观看一级特黄欧美大片| 成人免费观看视频| 中文字幕av一区二区三区| 亚洲成人免费在线观看| 国产一区久久久| 久久久久九九视频| 亚洲国产精品天堂| 欧美丝袜自拍制服另类| 亚洲国产cao| 国产电影一区二区三区| 国产亚洲污的网站| 国产盗摄精品一区二区三区在线| 久久老女人爱爱| 国产xxx精品视频大全| 欧美日本在线一区| 中文字幕在线不卡国产视频| 蜜臀av性久久久久蜜臀av麻豆| 91精品国产入口| 国产在线不卡一卡二卡三卡四卡| 欧美探花视频资源| 日韩av网站免费在线| 欧美mv日韩mv国产| 亚洲妇熟xx妇色黄| 91精品久久久久久久91蜜桃| 免费三级欧美电影| 欧美日韩国产免费一区二区 | 欧美久久婷婷综合色| 国产欧美日韩不卡免费| 成人动漫一区二区| 久久久久国产一区二区三区四区 | 欧美在线免费播放| 午夜精品久久久久久久99水蜜桃 | 中文字幕第一区第二区| 蜜臂av日日欢夜夜爽一区| 欧美午夜一区二区三区免费大片| 国产精品视频线看| 国产精品一区二区久久不卡| 国产精品国产三级国产aⅴ无密码|