www.pudn.com > hf44b0_TEST.rar > 44btest.c


#include  
#include "..\inc\option.h" 
#include "..\inc\44b.h" 
#include "..\inc\44blib.h" 
#include "..\inc\def.h" 
#include "..\inc\cache.h" 
#include "..\inc\uart.h" 
#include "..\inc\power.h" 
#include "..\inc\dma.h" 
#include "..\inc\timer.h" 
#include "..\inc\rtc.h" 
#include "..\inc\etc.h" 
#include "..\inc\iic.h" 
#include "..\inc\stop.h" 
#include "..\inc\extdma.h" 
#include "..\inc\tp.h" 
#include "..\inc\usb.h" 
#include "..\inc\kb.h" 
#include "..\inc\Pwm.h" 
#include "..\inc\led.h" 
#include "..\inc\lcd.h" 
#include "..\inc\lcdlib.h" 
#include "..\inc\44blcd.h" 
#include "..\inc\slib.h" 
#include "..\inc\uda1341.h" 
 
 
void Isr_Init(void); 
void HaltUndef(void); 
void HaltSwi(void); 
void HaltPabort(void);       
void HaltDabort(void); 
 
 
//**************************************************************** 
// *		  S3C44B0X developer's notes			*   
// **************************************************************** 
void * function[][2]= 
{ 
	(void *)LcdInit, 	 "LCD DISPLAY     ", 
	(void *)Test_Cache, 	 "Cache           ", 
	(void *)Test_Kb,	 "keyboard	 ", 
	(void *)Test_Uart0, 	 "UART 0          ", 
	(void *)Test_Uart0Fifo,	 "UART 0 FIFO     ", 
	(void *)Test_Uart1,	 "UART 1          ", 
	(void *)Test_Uart1Fifo,	 "UART 1 FIFO     ", 
	(void *)USBON,		 "USB TEST	 ", 
	(void *)Test_HoldMode,	 "HOLD Mode       ", 
	(void *)Test_Zdma0,	 "Zdma0           ", 
	(void *)Test_Zdma1,	 "Zdma1           ", 
	(void *)Test_WDTimer,	 "WDTimer         ", 
	(void *)Display_Rtc,	 "RTC(display)    ", 
	(void *)Test_Rtc_Alarm,	 "RTC(Test)       ", 
	(void *)Test_Rtc_Tick,	 "RTC Tick        ", 
	(void *)Test_Iic,	 "IIC(KS24C08)   ", 
	(void *)Test_PLL,        "Change PLL      ", 
	(void *)Test_Pwm,   "Test PWM (BEEP) ", 
	(void *)Test_Led, "Test LED      ", 
	(void *)IISMain, "UDA1341 Play test", 
    (void *)Ts_Sep, "ADC test", 
     0,0 
}; 
 
 
void Main(void) 
{ 
    int i; 
 
    rSYSCFG=SYSCFG_8KB; 
#if (PLLON==1) 
    ChangePllValue(PLL_M,PLL_P,PLL_S); 
#endif 
 
    Isr_Init(); 
    Port_Init(); 
    Uart_Init(0,115200); 
    Uart_Select(0); 
    Delay(0);  //calibrate Delay() 
    Delay(5000); 
    Lcd_ELON(); 
    Lcd_Init(MODE_MONO); 
    Glib_Init(MODE_MONO); 
    Slib_ClearScr(); 
    Glib_ClearScr(0); 
    Slib_SetCursor(1,3); 
    Slib_Printf("HengFengRuiKe"); 
    Slib_SetCursor(2,0); 
  	Slib_Printf("HF44B0 Test Ver V2.0"); 
  	Slib_SetCursor(3,0); 
  	Slib_Printf("TEL: 010-63734126"); 
  	Slib_SetCursor(4,0); 
  	Slib_Printf("TEL: 010-63726790"); 
  	Slib_SetCursor(5,0); 
    Slib_Printf("CLK: %dHz",MCLK); 
    
     
    while(1) 
    { 
	i=0; 
    Uart_Printf("\n\n\n    »¶Ó­Ê¹Óúã·áÈñ¿Æhf44b0 ²âÊÔ³ÌÐòV2.0 (2007-08-00 )"); 
        
  	Uart_Printf("MCLK=%d\n\n",MCLK); 
	 
	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"); 
	} 
	DisplayRtc(); 
	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]) )(); 
    } 
} 
 
void Isr_Init(void) 
{ 
    U32 i; 
     
    pISR_UNDEF=(unsigned)HaltUndef; 
    pISR_SWI  =(unsigned)HaltSwi; 
    pISR_PABORT=(unsigned)HaltPabort; 
    pISR_DABORT=(unsigned)HaltDabort; 
     
     for(i=_RAM_STARTADDRESS;i<(_RAM_STARTADDRESS+0x20);i+=4) 
    { 
	*((volatile unsigned *)i)=0xEA000000+0x1FFE; 
    } 
 
    //rINTCON=0x1;	  // Vectored Int. IRQ enable,FIQ disable     
    rINTCON=0x5;	  // Non-vectored,IRQ enable,FIQ disable     
 
    rINTMOD=0x0;	  // All=IRQ mode 
    rINTMSK|=BIT_GLOBAL|BIT_EINT4567;	  // All interrupt is masked. 
} 
 
 
void HaltUndef(void) 
{ 
    Uart_Printf("Undefined instruction exception!!!\n"); 
    while(1); 
} 
 
void HaltSwi(void) 
{ 
    Uart_Printf("SWI exception!!!\n"); 
    while(1); 
} 
 
void HaltPabort(void) 
{ 
    Uart_Printf("Pabort exception!!!\n"); 
    while(1); 
} 
 
void HaltDabort(void) 
{ 
    Uart_Printf("Dabort exception!!!\n"); 
    while(1); 
}