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

📄 2410test.c

📁 2410TK测试代码
💻 C
📖 第 1 页 / 共 2 页
字号:
//    ChangeMPllValue(0x7f,0x2,0x2);    // FCLK=101.25MHz
//    ChangeMPllValue(0x52,0x2,0x1);    // FCLK=135MHz
//    ChangeMPllValue(0x96,0x5,0x1);    // FCLK=135428571Hz
//    ChangeMPllValue(0x47,0x1,0x1);    // FCLK=158MHz  
//    ChangeMPllValue(0x48,0x1,0x1);    // FCLK=160MHz
//    ChangeMPllValue(0x4d,0x1,0x1);    // FCLK=170MHz 
//    ChangeMPllValue(0x52,0x1,0x1);    // FCLK=180MHz  , Confirmed from MS Core P/J
//    ChangeMPllValue(0x59,0x1,0x1);    // FCLK=194MHz  , Confirmed from MS Core P/J  
    ChangeMPllValue(0x5c,0x1,0x1);    // FCLK=200MHz
//    ChangeMPllValue(0xa1,0x3,0x1);    // FCLK=202.8MHz, Confirmed from MS Core P/J
//    ChangeMPllValue(0x64,0x1,0x1);    // FCLK=216MHz  , Confirmed from MS Core P/J
//    ChangeMPllValue(0x66,0x1,0x1);    // FCLK=220MHz   
//    ChangeMPllValue(0x69,0x1,0x1);    // FCLK=226MHz       
//    ChangeMPllValue(0x96,0x2,0x1);    // FCLK=237MHz
//    ChangeMPllValue(0x70,0x1,0x1);    // FCLK=240MHz
//    ChangeMPllValue(0x75,0x1,0x1);    // FCLK=250MHz
//    ChangeMPllValue(0x7a,0x1,0x1);    // FCLK=260MHz
//    ChangeMPllValue(0x7d,0x1,0x1);    // FCLK=266MHz
//    ChangeMPllValue(0x7f,0x1,0x1);    // FCLK=270MHz
//    ChangeMPllValue(0x84,0x1,0x1);    // FCLK=280MHz    
//    ChangeMPllValue(0x89,0x1,0x1);    // FCLK=290MHz
//    ChangeMPllValue(0x8e,0x1,0x1);    // FCLK=300MHz
//    ChangeMPllValue(0x93,0x1,0x1);    // FCLK=310MHz   
//    ChangeMPllValue(0x96,0x1,0x1);    // FCLK=316MHz  
//    ChangeMPllValue(0x98,0x1,0x1);    // FCLK=320MHz
//    ChangeMPllValue(0x9d,0x1,0x1);    // FCLK=330MHz 
//    ChangeMPllValue(0xa2,0x1,0x1);    // FCLK=340MHz  
//    ChangeMPllValue(0xa7,0x1,0x1);    // FCLK=350MHz
//    ChangeMPllValue(0xac,0x1,0x1);    // FCLK=360MHz
      
    Port_Init();
    Isr_Init();
//    Rtc_Init();
//    Uart_Init(0,115200);
    //Uart_Init(FCLK/2,115200);
    Uart_Init(FCLK/4,115200);    
    Uart_Select(0);

    //Check whether or not the POWER_OFF wake-up.
    Delay(0);   //calibrate Delay()
    Check_PowerOffWakeUp();  //It's needed for power-off STOP mode test.   

//SJS July 15, 2002
    //Turn on LCD. All test will be done while the LCD is turned on.
    //PWR_Lcd_Tft_16Bit_240320_On();

    //Save the wasted power consumption on GPIO.
    rIISPSR=(2<<5)|(2<<0); //IIS_LRCK=44.1Khz @384fs,PCLK=50Mhz.
    rGPHCON = rGPHCON & ~(0xf<<18)|(0x5<<18);   //CLKOUT 0,1=OUTPUT to reduce the power consumption.

//SJS July 15, 2002
    //Turn on LCD. All test will be done while the LCD is turned on.
    Test_Lcd_Tft_8Bit_240320_On();

    if (0x32410000 == rGSTATUS1)
       Uart_Printf("\nCPU ID : S3C2410X01 (203MHz) or S3C2410X02 (270MHz)\n");    
    
    if (0x32410002 == rGSTATUS1)
       Uart_Printf("\nCPU ID : S3C2410A01 (270MHz)\n");

//12/23/2003 SOP       
#if CACHE_EN    
    Uart_Printf("Now Cache Enabled...\n");  
#else
    Uart_Printf("Now Cache Disabled...\n");
#endif   

#if LPC3600ENABLE						// 12/15/2004 SOP
    Uart_Printf("LPC3600 Enabled...\n");
#else
    Uart_Printf("LPC3600 Disabled...\n");
#endif

#if 0
    //Test Only, Oyster-N VDDMOP Voltage Margin Test 04/28/2004 SOP  
    //Uart_Printf("\n\nS3C2410A01 (SMDK2410) Test Program Ver 1.2(20040521) FCLK = %d Hz\n\n", FCLK);    
    Uart_Printf("\n\nPower Consumption Test (Power Measurement).\n\n");    
    
    //while(!Uart_GetKey())
    //{
        MeasurePowerConsumption();
//        Test_DMA();
//        Test_MEM();             // 04/28/2004 SOP
//        Test_DMAWorst();
//        Uart_Printf("\nTest Continue, Press to any key.\n");
//        while(!Uart_GetKey());
    //}   
    //Test end  
#endif
        

/*     
    //Test Only,Pin F4 : GPB2(TOUT2) 07/25/2003 SOP  
    while(1)
    {
        Uart_Printf("\nrGPBDAT (Before) : 0x%x\n",rGPBDAT);     
        rGPBDAT &= 0x7fb;   //GPB2 Data out '0'
        Uart_Printf("rGPBDAT (0x7fb)  : 0x%x, GPB2 Data out '0'\n",rGPBDAT);
        for(i=0;i<100000000;i++);
        rGPBDAT |= 0x7ff;   //GPB2 Data out '1'     
        Uart_Printf("rGPBDAT (0x7ff)  : 0x%x, GPB2 Data out '1'\n",rGPBDAT);
        for(i=0;i<100000000;i++);       
    }   
    //Test end         
*/     

/*     
    //Test Only,Pin M17 : GPF3(EINT3) 01/09/2004 SOP  
    //=== PORT F GROUP
    //Ports  : GPF7   GPF6   GPF5   GPF4      GPF3     GPF2  GPF1   GPF0
    //Signal : nLED_8 nLED_4 nLED_2 nLED_1 nIRQ_PCMCIA EINT2 KBDINT EINT0
    //Setting: Output Output Output Output    Output   EINT2 EINT1  EINT0
    //Binary :  01      01 ,  01     01  ,     01       10  , 10     10
    rGPFCON = 0x556a;
    rGPFUP  = 0xff;     // The pull up function is disabled GPF[7:0]    
    Uart_Printf("\nrGPFDAT (Before) : 0x%02x\n",rGPFDAT);     
    while(1)
    {
        rGPFDAT = 0xf7;   //GPF3 Data out '0'
        Uart_Printf("LED1 ~ 4: Off\n");        
        Uart_Printf("rGPFDAT (0xf7)  : 0x%02x, GPF3 Data out '0'\n\n",rGPFDAT);
        for(i=0;i<10000;i++);
        rGPFDAT = 0x0f;   //GPF3 Data out '1'     
        Uart_Printf("LED1 ~ 4: On\n");        
        Uart_Printf("rGPFDAT (0x0f)  : 0x%02x, GPF3 Data out '1'\n\n",rGPFDAT);
        for(i=0;i<10000;i++);       
    }   
    //Test end         
*/
    while(1)
    {
        i = 0;
      
        //GPG4 Output Port [9:8] 00      -> LCD power off
//        rGPGCON = (rGPGCON & 0xfffffcff) | (1<<8);
//        rGPGDAT &= 0xffef;        

        Uart_Printf("\n\nS3C2410A01 (SMDK2410) Test Program Ver 1.2(20041215) FCLK = %d Hz\n\n", FCLK);
       
        rGPHCON = rGPHCON & ~(0xf<<18)|(0xa<<18);   //CLKOUT 0,1
        rMISCCR = rMISCCR & ~(0xff<<4)|(0x32<<4);   //CLKOUT0=FCLK, CLKOUT1=HCLK      

//        Uart_Printf("\n[ CPU Cache Speed Testing ..... ]\n");
//        Test_CpuSpeed();

//        Uart_Printf("\n[ Power-Off Mode Entry ..... ]\n");
//      Test_InitSDRAM();
//      Test_PowerOffMode();
       
        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");

        //GPG4 Output Port [9:8] 01      -> LCD power On
        rGPGCON = (rGPGCON & 0xfffffcff) | (1<<8);
        rGPGDAT = (rGPGDAT & 0xffef) | (1<<4);        
        
        if(i>=0 && (i<(sizeof(function)/8)) ) 
            ( (void (*)(void)) (function[i][0]) )();            
    }
}

//===================================================================
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)
{
    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);
}





/*
//=========================
    while(1)
    {
       Led_Display(3);
    }
//=========================    
*/
/*
//=========================
    while(1)
    {
       Led_Display(1);
       Delay(1500);   
       Led_Display(2);
       Delay(1500);             
       Led_Display(4);
       Delay(1500);   
       Led_Display(8);
       Delay(1500);                
    }
//=========================   
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -