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

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

?? xmain.c

?? 2440 cpu test
?? C
字號:
//====================================================================
// File Name : xmain.c
// Function  : S3C2440 Test Main Menu
// Program   : Junon
// Date      : Nov 29, 2003
// Version   : 0.0
// History
//   0.0 : Programming start (February 20,2002) -> 
//====================================================================

#include <stdlib.h>
#include <string.h>

#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h" // 03.11.27 junon
#include "mmu.h" // 03.11.27 junon

#if USE_MAIN
#include <stdio.h>
#endif


/**************** User test program header file ********************/
#include	"User_Test.h"
#include	"PD6710.h"		// PCMCIA
#include	"int.h"			// Interrupt
#include	"nwait.h"		// nWAIT signal
#include	"stone.h"		// Stepping stone
#include	"cpuspeed.h"	// Cpu speed test.
#include	"Userlib.h"
#include	"power.h"
#include	"nand.h"
#include	"lcd.h"
#include	"camif.h"
#include	"iic.h"
#include	"rtc.h"
#include	"spi.h"
#include	"uart_test.h"
#include	"uart0.h"
#include	"uart1.h"
#include	"uart2.h"
#include	"irda.h"
#include	"Glib.h"
#include	"LCDlib.h"
#include	"Flash.h"
#include	"Am29f800.h"
#include	"strata32.h"

#include	"dma.h"
#include	"sdi.h"
#include	"adcts.h"
#include	"timer.h"

#include	"iis.h"
#include	"ac97.h"	//Added to S3C2440A

#include	"dvstest.h"
#include	"pwr_c.h" // 03.11.27 junon

void Isr_Init(void);
void HaltUndef(void);
void HaltSwi(void);
void HaltPabort(void);
void HaltDabort(void);

void Clk0_Enable(int clock_sel);	
void Clk1_Enable(int clock_sel);
void Clk0_Disable(void);
void Clk1_Disable(void);

extern void Calc_Clock(int print_msg);
extern U32 Mdiv, Pdiv, Sdiv, Fclk, Hclk, Pclk, Hdivn, Pdivn, Hclk_Ratio, Pclk_Ratio, Ref_Cnt;


void * function[][2]=
{
//User test
	(void *)User_Test,			"User Test       ",
	(void *)Manual_Register_Set,"Manual Reg. Set ",
//Memory
	(void *)Test_PD6710,		"PCMCIA test     ",
	(void *)Test_ISram,			"Stepping stone  ",
	//(void *)Test_WaitPin,			"nWAIT test      ",
	(void *)Test_Nand,			"Nand test       ",
	(void *)ProgramFlash,		"Program Flash   ",
//DMA
	(void *)Test_DMA,			"DMA test        ",
//Interrupt
	(void *)Test_Int,			"Interrupt       ",
//Power & CPU
	//(void *)Test_CpuSpeed,	"Cpu speed       ",
	(void *)Power_Test,			"Power/Clk       ",
//IPs
	(void *)Lcd_Test,			"Lcd test        ",
	(void *)Camera_Test,		"Camera test     ",
	(void *)Spi_Test,			"SPI Test        ",
	(void *)Iic_Test,			"IIC Test        ",
	(void *)Rtc_Test,			"RTC Test        ",
	(void *)IrDA_Test,			"IrDA Test       ",
	(void *)Test_SDI,			"SD test         ",
	(void *)Test_Adc,			"ADC test        ",
	(void *)Test_AdcTs,			"ADC TS test     ",
	(void *)Timer_Test,			"Timer test      ",
	(void *)IIS_Test,			"IIS test        ",
	(void *)AC97_Test,			"AC97 Test	   ",
	(void *)Uart_Test,			"Uart Test       ",
	0,0
};

// Clock select argument.
#define	UCLK_SEL	(1)
#define	HCLK_SEL	(3)
#define	PCLK_SEL	(4)
#define	DCLK_SEL	(5)
// Hidden
#define	MPLL_SEL	(0)
#define	FCLK_SEL	(2)

//===================================================================

void xmain(void)
{
	int i, voltage=120;
	unsigned int mpll_val;

	// GPIO port init.
	Port_Init();

	Led_Display(0xf);

	// MMU init. I/D cache on.
	MMU_Init();
   
	Led_Display(0x1);

	//////// user can set clock again.	/////////
#if 0
	Delay(0);
	voltage=110;
	Max1718_Set(voltage);		// set proper voltage after clock changed.
	Delay(1);

	#if FIN==12000000	//When 12MHz.
	ChangeUPllValue(56,2,2);		// 48MHz
	for(i=0; i<7; i++);
	ChangeClockDivider(13,12);
	ChangeMPllValue(68,1,1);		//2440x
	#else	// else xtal_in=16.9344MHz.
	ChangeUPllValue(60,4,2);		// 48MHz
	for(i=0; i<7; i++);
	ChangeClockDivider(13,12);
	//ChangeMPllValue(118,2,2);	//265Mhz
	ChangeMPllValue(97,1,2);		//295Mhz
	//ChangeMPllValue(110,3,1);	//398Mhz
	//ChangeMPllValue(120,2,1);	//531Mhz
	#endif
#endif
	/////////////////////////////////////////

	Led_Display(0x2);
	
	Calc_Clock(0);
	UPDATE_REFRESH(Hclk);

	// ISR init
	Isr_Init();
	Uart_Init(Pclk, 115200);
	Uart_Select(1);
	Uart_TxEmpty(1);

	// timer setting for delay 100us unit.
	//Check whether or not the POWER_OFF wake-up.
	Delay(0);	//calibrate Delay()

	 //Turn on LCD.
	PWR_Lcd_Tft_16Bit_240320_On();

	//Check_SleepWakeUp();  //It's needed only for sleep mode test.   


	//Save the wasted power consumption on GPIO.
	//rIISPSR=(2<<5)|(2<<0); //IIS_LRCK=44.1Khz @384fs,PCLK=50Mhz.

	// Set I/O strength control.
	rDSC0 = (0<<31)|(0x3<<8)|(0xff<<0);
//	rDSC0 = (0<<31)|(0x0<<8)|(0x00<<0);
	// nEN_DSC	[31]	: 0:I/O drive strength enable, 1:Disable
	// DSC_ADR	[9:8]	: Addr drive strength, 0:10mA, 1:8mA, 2:6mA, 3:4mA
	// DSC_DATA	[7:0]	: DATA drive strength, 0:12mA, 1:10mA, 2:8mA, 3:6mA
	rDSC1 = (0x3<<28)|(0x3<<26)|(0xfffff<<0);
//	rDSC1 = (0x0<<28)|(0x0<<26)|(0x00000<<0);	
	// DSC_SCK1	[29:28]	: SCLK1, 0:16mA, 1:12mA, 2:8mA, 3:6mA 
	// DSC_SCK0	[27:26]	: SCLK0, 0:16mA, 1:12mA, 2:8mA, 3:6mA 
	// DSC_SCKE	[25:24]	: SCLKE, 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_SDR	[23:22]	: nRAS/nCAS, 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_NFC	[21:20]	: Nand flash(nFCE,nFRE,nFWE,CLE,ALE), 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_BE	[19:18]	: nBE[3:0], 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_WOE	[17:16]	: nBE[3:0], 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_CS7	[15:14]	: nGCS7, 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_CS6	[13:12]	: nGCS6, 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_CS5	[11:10]	: nGCS5, 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_CS4	[9:8]	: nGCS4, 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_CS3	[7:6]	: nGCS3, 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_CS2	[5:4]	: nGCS2, 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_CS1	[3:2]	: nGCS1, 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	// DSC_CS0	[1:0]	: nGCS0, 0:10mA, 1:8mA, 2:6mA, 3:4mA 
	Uart_Printf("uDSC0/1:%x,%x\n", rDSC0, rDSC1);


	/////////////////////////////////////// start testprogram /////////////////////////////////////
	Uart_Printf("\n\n+---------------------------------------------+\n");
	Uart_Printf(    "| S3C2440A Firmware-Test ver 0.03 Jan 2004.   |\n");
	Uart_Printf(    "+---------------------------------------------+\n");
	Uart_Printf("[CPU ID=%xh]\n", rGSTATUS1);
	
	Uart_Printf("[Core voltage: %4.2fV]\n", (float)voltage/100);

	Uart_Printf("[XTAL in = %6.4f]\n", (float)FIN/MEGA);
	Uart_Printf("[Fclk:Hclk:Pclk]=[%4.1f:%4.1f:%4.1f]Mhz\n", (float)Fclk/MEGA, (float)Hclk/MEGA, (float)Pclk/MEGA);
	Uart_Printf("[Uclk=%4.1fMhz]\n", (float)UCLK/MEGA);
	Uart_Printf("\n");

	//Uart_Printf("[rPRIORITY=0x%x]\n", rPRIORITY);
	//rCLKCON = (rCLKCON&0xf) |(0x0<<16)|(0x2<<12)|(0x4<<8)|(0x0<<4); // for test
	//Uart_Printf("[CLKCON=%x]\n", rCLKCON);
	Uart_Printf("[rSTATUS2=0x%x]\n", rGSTATUS2);
	Uart_Printf("[rSTATUS3=0x%x]\n", rGSTATUS3);
	Uart_Printf("[rSTATUS4=0x%x]\n", rGSTATUS4);
	Uart_Printf("[rSRCPND=0x%x]\n", rSRCPND);
	Uart_Printf("[rINTPND=0x%x]\n", rINTPND);
	
	// CLKOUT0/1 select.
	//Uart_Printf("CLKOUT0:MPLL in, CLKOUT1:RTC clock.\n");
	Clk0_Enable(2);	// 0:MPLLin, 1:UPLL, 2:FCLK, 3:HCLK, 4:PCLK, 5:DCLK0
	Clk1_Enable(3);	// 0:MPLLout, 1:UPLL, 2:RTC, 3:HCLK, 4:PCLK, 5:DCLK1	
	//Clk0_Disable();
	//Clk1_Disable();
	
	Uart_Printf("\n\n");
	
///////////////////// menu start ///////////////////////////
	while(1) {
	   	i = 0;
	  
		while(1) {   //display menu
			Uart_Printf("%2d:%s",i,function[i][1]);
			i++;
			if((int)(function[i][0])==0) {
				Uart_Printf("\n");
				break;
			}
			if((i%4)==0)
			Uart_Printf("\n");
		}
		
		Uart_Printf("\nSelect the function to test : ");
		i = Uart_GetIntNum();
		Uart_Printf("\n");

		if(i>=0 && (i<(sizeof(function)/8)) ) {
			( (void (*)(void)) (function[i][0]) )();
		}
	
		Uart_Printf("\n");
	}

} // end of xmain().

//===================================================================
void Isr_Init(void)
{
    pISR_UNDEF  = (unsigned)HaltUndef;
    pISR_SWI    = (unsigned)HaltSwi;
    pISR_PABORT = (unsigned)HaltPabort;
    pISR_DABORT = (unsigned)HaltDabort;
	
    rINTMOD     = 0x0;					 //All=IRQ mode
//    rINTCON=0x5;						   //Non-vectored,IRQ enable,FIQ disable    
    rINTMSK     = BIT_ALLMSK;			  //All interrupt is masked.
    rINTSUBMSK  = BIT_SUB_ALLMSK;		  //All sub-interrupt is masked. <- April 01, 2002 SOP

//    rINTSUBMSK  = ~(BIT_SUB_RXD0);		 //Enable Rx0 Default value=0x7ff
//    rINTMSK     = ~(BIT_UART0);			//Enable UART0 Default value=0xffffffff    
	
//    pISR_UART0=(unsigned)RxInt;			//pISR_FIQ,pISR_IRQ must be initialized
}

//===================================================================
void HaltUndef(void)
{
    Uart_Printf("Undefined instruction exception.\n");
    while(1);
}

//===================================================================
void HaltSwi(void)
{
#if !SEMIHOSTING	
		Uart_Printf("SWI exception!!!\n");
		while(1);
#endif	
}

//===================================================================
void HaltPabort(void)
{
    Uart_Printf("Pabort exception.\n");
    while(1);
}

//===================================================================
void HaltDabort(void)
{
    Uart_Printf("Dabort exception.\n");
    while(1);
}

void Clk0_Enable(int clock_sel)	
{	// 0:MPLLin, 1:UPLL, 2:FCLK, 3:HCLK, 4:PCLK, 5:DCLK0
	rMISCCR = rMISCCR&~(7<<4) | (clock_sel<<4);
	rGPHCON = rGPHCON&~(3<<18) | (2<<18);
}
void Clk1_Enable(int clock_sel)
{	// 0:MPLLout, 1:UPLL, 2:RTC, 3:HCLK, 4:PCLK, 5:DCLK1	
	rMISCCR = rMISCCR&~(7<<8) | (clock_sel<<8);
	rGPHCON = rGPHCON&~(3<<20) | (2<<20);
}
void Clk0_Disable(void)
{
	rGPHCON = rGPHCON&~(3<<18);	// GPH9 Input
}
void Clk1_Disable(void)
{
	rGPHCON = rGPHCON&~(3<<20);	// GPH10 Input
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品嫩草久久久久| 国产精品私房写真福利视频| 一区二区三区电影在线播| 99riav一区二区三区| 国产精品久久久久影院| 9l国产精品久久久久麻豆| 亚洲愉拍自拍另类高清精品| 欧美日韩免费电影| 老司机精品视频一区二区三区| 精品动漫一区二区三区在线观看| 国产精品99精品久久免费| 国产精品动漫网站| 欧美日韩成人一区| 国产精品99久久久久久宅男| 综合色中文字幕| 91麻豆精品国产91久久久使用方法 | 亚洲在线中文字幕| 欧美军同video69gay| 理论电影国产精品| 亚洲欧美一区二区视频| 欧美视频你懂的| 久久超级碰视频| 国产精品传媒入口麻豆| 欧美无砖砖区免费| 国模一区二区三区白浆| 亚洲精品日产精品乱码不卡| 欧美成人精品高清在线播放| 99久久婷婷国产精品综合| 五月天一区二区| 国产日韩精品久久久| 99久久精品情趣| 久久国产剧场电影| 一区二区三区蜜桃| 日韩欧美国产一区在线观看| 色综合 综合色| 国产美女一区二区| 亚洲二区在线视频| 国产精品久久久久婷婷| 国产精品色眯眯| 麻豆精品在线看| 日韩午夜精品视频| 亚洲图片欧美色图| 在线观看日韩精品| 亚洲欧美激情小说另类| 色婷婷激情一区二区三区| 国产精品久久久久精k8| 男女性色大片免费观看一区二区| 欧美一区二区久久| 激情五月激情综合网| 精品国产第一区二区三区观看体验| 亚洲综合免费观看高清完整版| 欧美日韩中文国产| 国产精品女同互慰在线看| 国产一区二区在线免费观看| 亚洲精品乱码久久久久久| 5566中文字幕一区二区电影 | 成人网男人的天堂| 久久久久久一二三区| av动漫一区二区| 在线视频综合导航| 日韩精品一区二区三区在线观看 | 粉嫩av一区二区三区粉嫩| 日韩高清一区二区| 亚洲123区在线观看| 国产精品久久久久久久久免费樱桃 | 自拍偷在线精品自拍偷无码专区 | 91亚洲资源网| 亚洲制服丝袜av| 日韩一卡二卡三卡国产欧美| 风间由美一区二区三区在线观看 | 欧美日韩国产免费一区二区| 国产一区二区三区免费观看| 亚洲美女淫视频| 久久影院午夜论| 欧美美女一区二区三区| 成人一区在线看| 日韩和欧美一区二区三区| 国产日韩综合av| 视频在线观看一区| 亚洲人成网站精品片在线观看| 波多野洁衣一区| 国产91综合一区在线观看| 精品国产免费视频| 国产高清不卡二三区| 亚洲aaa精品| 中文字幕亚洲电影| 久久久久久久综合狠狠综合| 国产午夜精品一区二区三区四区| 91美女在线观看| 色综合久久综合网| 香蕉久久夜色精品国产使用方法| 国产一区二区影院| 久久免费精品国产久精品久久久久| 懂色中文一区二区在线播放| 亚洲国产精品久久久久秋霞影院 | 久久久精品免费观看| 日韩美女视频一区二区在线观看| 国产成人高清视频| 成人午夜在线播放| 成人小视频免费观看| 成人午夜视频福利| 成人黄色小视频| 91啪在线观看| 成人国产亚洲欧美成人综合网| jizzjizzjizz欧美| 91极品美女在线| 亚洲综合一区二区三区| 亚洲精品你懂的| 亚洲成人高清在线| 国产91精品一区二区麻豆亚洲| 成人网页在线观看| 欧美吞精做爰啪啪高潮| 欧美亚洲综合一区| 国产二区国产一区在线观看| 国产精品亚洲午夜一区二区三区| 欧美军同video69gay| 亚洲欧洲韩国日本视频| 亚洲永久精品国产| 国产女主播视频一区二区| 亚洲国产欧美日韩另类综合| 亚洲影视在线播放| 欧美一区二区三区的| 精品免费日韩av| 欧美一区二区视频网站| 香蕉成人伊视频在线观看| 天天色图综合网| 日本一区二区三级电影在线观看| 美女精品自拍一二三四| 国产专区综合网| 欧美经典一区二区| 一区二区在线免费观看| 高清成人免费视频| 欧美伊人精品成人久久综合97| 在线观看一区日韩| 国产精品久久夜| 中文字幕第一区综合| 亚洲国产cao| 亚洲乱码中文字幕综合| 一本色道久久综合狠狠躁的推荐| 中文字幕av资源一区| 欧美性视频一区二区三区| 国产精品久久毛片av大全日韩| 国产精品嫩草影院com| 欧美区一区二区三区| 91在线你懂得| 色成人在线视频| 中文字幕在线不卡| 成人午夜又粗又硬又大| 成人一区二区三区在线观看| 成人久久视频在线观看| 欧美日韩国产欧美日美国产精品| 色狠狠一区二区三区香蕉| 亚洲欧洲av一区二区三区久久| 欧美性感一区二区三区| 91精品国产免费久久综合| 精品剧情v国产在线观看在线| 成人av网站免费观看| 精品少妇一区二区| 国产不卡在线播放| 日韩欧美国产麻豆| 精品国产91亚洲一区二区三区婷婷| 久久er99精品| 欧美日韩黄色一区二区| 成人美女视频在线看| 国产剧情一区在线| 欧美日韩国产影片| 国产精品视频免费| av午夜精品一区二区三区| 精品国产乱码久久久久久图片 | 99精品欧美一区| 精品一区二区在线视频| 99久久精品免费看| 最新国产精品久久精品| 亚洲va韩国va欧美va| av中文字幕在线不卡| 国产激情偷乱视频一区二区三区| 欧美日韩亚洲另类| 亚洲午夜一二三区视频| 91视视频在线观看入口直接观看www| 欧美久久一二三四区| 久久久久久久电影| 欧美综合天天夜夜久久| 亚洲欧美日韩中文播放| 91在线无精精品入口| 亚洲激情自拍偷拍| 国产精品久久久久久福利一牛影视| 日韩主播视频在线| 天天影视色香欲综合网老头| 欧美亚日韩国产aⅴ精品中极品| 亚洲男人的天堂在线aⅴ视频| 久久精品国产亚洲aⅴ| 欧美一级免费大片| caoporm超碰国产精品| 久久久久久久av麻豆果冻| 亚洲免费观看高清完整版在线| 天天色综合成人网| 日韩丝袜美女视频| 久久av资源站| 99re这里只有精品视频首页| 日韩一本二本av|