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

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

?? cpuspeed.c

?? MBA2440(s3c2440)的 源代碼文件 ARM920T內核。
?? C
字號:
/************************************************ 
  NAME    : CPUSPEED.C
  DESC	  : Analyze where the speed bottleneck is.
  	    1) the code runs only on the cache.
  Revision: 2001.5.17: purnnamu: draft
  Revision: 2003.3.xx: DonGo: modified for 5410.
 ************************************************/
#include <string.h>
#include "def.h"
#include "option.h"

#include "2440addr.h"
#include "2440lib.h"

#include "mmu.h"
#include "cpuspeed.h"

void CpuSpeedFunc1(void);
void CpuSpeedFunc2(void);

#define	LED_DISPLAY(data)	    (rGPFDAT = (rGPFDAT & ~(0xf<<4)) | ((~data & 0xf)<<4))


#define	WHICH_CPU	2440	// 2440.


#define	TEST_STADDR		(0x30f00000)
#define	TEST_ENDADDR	(TEST_STADDR+0xff)	//256 bytes



void Test_CpuSpeed(void)
{
    int i,j,base;
    U32 uLockPt,bypass;

	// added for testing 2440.
    Uart_Printf("[CPU Core Speed Test]\n");

	// Set MMU enable and on/off I/D-cache.
	Uart_Printf("[MMU enable]\n");
	MMU_EnableMMU();
    Uart_Printf("[ICache enable]\n");
	MMU_EnableICache();
    Uart_Printf("[DCache enable]\n");
	MMU_EnableDCache(); //DCache should be turned on after MMU is turned on.

    //Uart_Printf("[FCLK:HCLK:PCLK] = [%d:%d:%d]MHz\n", FCLK/1000000, HCLK/1000000, PCLK/1000000);
    Uart_Printf("DCache locked area: %xH~%xH\n", TEST_STADDR, TEST_ENDADDR);
    Uart_Printf("ICache locked area: %x~%x(256B boundary)\n",
    	(U32)CpuSpeedFunc1,(U32)CpuSpeedFunc2);
    Uart_Printf("LCD is disabled.\n");
    //LCD_DisplayControl(0);
    rLCDCON1&=~1; // ENVID=OFF
    LED_DISPLAY(0x1);	// LED 1

	Uart_Printf("<<LED status>>\n");
	Uart_Printf("(1) LED4 blink: R/W OK.\n");
	Uart_Printf("(2) LED4 OFF: Multiply error(R/W OK).\n");
	Uart_Printf("(3) LED4/7 ON: R/W Error.\n");
	
 	Uart_Printf("Cache lock-down.\n");
	
	
    //========== ICache lock-down ==========
    MMU_SetICacheLockdownBase(10<<26);  	// The following code will be filled between cache line 10~63.
    base=10;
    bypass=1;
    uLockPt=(U32)CpuSpeedFunc1&0xffffffe0;

    for(;uLockPt<(U32)CpuSpeedFunc2;uLockPt+=0x20)
    {
        if(((uLockPt%0x100)==0)&&(uLockPt>(U32)CpuSpeedFunc1)) base++;
       
		MMU_InvalidateICacheMVA(uLockPt);

        if(bypass==1) MMU_SetICacheLockdownBase(base<<26);  
	
		MMU_PrefetchICacheMVA(uLockPt);

    	if(bypass==1) //to put the current code outside base 9
    	{
    	    bypass=0;
    	    base=0;
            uLockPt-=0x20; //restore uLockPt
    	}
    }
    base++;
    MMU_SetICacheLockdownBase(base<<26);  // 256

    if(base>10)
    	Uart_Printf("ERROR:ICache lockdown base overflow\n");
    
    Uart_Printf("lockdown ICache line=0~%d\n",base-1);


    //========== DCache lock-down ==========
    base=0;
    uLockPt=(U32)CpuSpeedFunc1&0xffffffe0;

    //Function should be cached in DCache because of the literal pool(LDR Rn,=0xxxxx). ??
    for(;uLockPt<(U32)CpuSpeedFunc2;uLockPt+=0x20)
    {
    	if(((uLockPt%0x100)==0)&&(uLockPt>(U32)CpuSpeedFunc1))
    	    base++;
		
    	MMU_CleanInvalidateDCacheMVA(uLockPt);

        MMU_SetDCacheLockdownBase(base<<26);  
	    *((volatile U32 *)(uLockPt));
    }
    base++;
    MMU_SetDCacheLockdownBase(base<<26);  


    for(i=TEST_STADDR;i<TEST_ENDADDR;i+=4)*((U32 *)i)=0x55555555;
    
    for(i=0;i<0x100;i+=0x20)
    {
      	MMU_CleanInvalidateDCacheMVA(TEST_STADDR+i);

        MMU_SetDCacheLockdownBase(base<<26);  
        *((volatile U32 *)(TEST_STADDR+i));
    }

    base++;
    MMU_SetDCacheLockdownBase(base<<26);  


   	
    Uart_Printf("lockdown DCache line=0~%d\n",base-1);


    //========== Check the line is really cache-filled ==========
#if 1
    for(uLockPt=(U32)CpuSpeedFunc1;uLockPt<(U32)CpuSpeedFunc2-4*8;uLockPt+=4)
    {
	//*((U32 *)uLockPt)=0xffffffff; //*((U32 *)uLockPt);
	*((U32 *)uLockPt)=*((U32 *)uLockPt);
    }
#endif    	
// SDRAM Self refresh
	
	LED_DISPLAY(0x2);

	//Uart_Getch();
		// Set clock out pad.
	rGPHCON = (rGPHCON & ~(3<<20)) | (2<<20);	// GPH10  = CLKOUT1.
	rMISCCR = (rMISCCR & ~(7<<8)) | (2<<8);		// CLKOUT1 = FCLK
    CpuSpeedFunc1();

}    



void CpuSpeedFunc1(void)
{
    int i,j;
    i=0;

    for(i=0;i<10;i++) {
		LED_DISPLAY(i%16);
		for(j=0;j<600000;j++);
    }
				
	//The following code should not use the stack memory.
    // because the stack memory is not DCache-locked.
    // It's should be checked using disassembly code.

	#if 1
	Uart_Printf("\n******** CpuSpeedFunc1 write test -------> 1 \n");	
    // Set clock frequency.
//	ChangeClockDivider(14,12);
	ChangeClockDivider(16,12);	
	
//	ChangeMPllValue(0xa1, 0x3,0x1);	// FCLK=202MHz
//	ChangeMPllValue(150, 6, 0);		// FCLK=237MHz
//	ChangeMPllValue(180, 3, 0);	// FCLK=451MHz
	ChangeMPllValue(214, 3, 0);	// FCLK=523.8MHz
//	ChangeMPllValue(0xa7,0x4,0x0);	// FCLK=350MHz
//	ChangeMPllValue(0x55,0x1,0x0);	// FCLK=372MHz

//	ChangeClockDivider(14,12);		// 400:100:50
//	ChangeMPllValue(92,1,0);		// FCLK=400MHz

	UPDATE_REFRESH(133000000);		// UPDATE_REFRES(HCLK);

	#endif

	#if 0
	Uart_Printf("\n******** CpuSpeedFunc1 write test -------> 2 \n");	
	rREFRESH |= 1<<22;	// SDRAM1 self refresh.
	#endif
	

    LED_DISPLAY(0x0);

    while(1)	// only for test: caching area
    {
        for(i=0;i<0x100;i+=4)
            *(volatile U32 *)(TEST_STADDR+i)=0x12345678*i+i;	// Write data.

        for(i=0;i<0x100;i+=4) {
            if(*(volatile U32 *)(TEST_STADDR+i)!=0x12345678*i+i) {	// Error
		        LED_DISPLAY(0x5);
		        while(1);
            }
			
            *(volatile U32 *)(TEST_STADDR+i)=0x0;	// Clear memory.
        }

    	LED_DISPLAY(0x0);
	
        i=0;
        i++;
        i=i*0x12345678;	// i=1.
	if(i==0x12345678) LED_DISPLAY(0x1);	//OK.
	else LED_DISPLAY(0x0);
    }    
}

void CpuSpeedFunc2(void){}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠狠色丁香婷婷综合激情| 欧美日韩夫妻久久| 欧美日韩亚洲不卡| 国产亚洲欧美色| 亚洲成av人片在线观看| 成人深夜视频在线观看| 欧美日韩久久久一区| 国产亲近乱来精品视频| 亚洲高清免费在线| 波多野结衣亚洲| 久久久久久日产精品| 婷婷国产v国产偷v亚洲高清| 91网站视频在线观看| 欧美精品一区二区三| 午夜精品久久久久久久久久| av激情亚洲男人天堂| 精品久久99ma| 日韩影院在线观看| 99re热这里只有精品视频| 久久亚洲精精品中文字幕早川悠里| 一个色在线综合| 成人av一区二区三区| 精品久久久久久久久久久久包黑料| 亚洲成人动漫一区| 色婷婷av一区二区三区大白胸 | 中文字幕在线不卡| 久久爱另类一区二区小说| 精品视频免费看| 亚洲免费在线观看| 99re热视频精品| 国产精品久线观看视频| 国产成人综合视频| 国产喷白浆一区二区三区| 极品少妇xxxx偷拍精品少妇| 日韩一区二区在线免费观看| 视频一区二区国产| 911精品产国品一二三产区| 亚欧色一区w666天堂| 欧美乱妇23p| 亚洲电影欧美电影有声小说| 在线影院国内精品| 亚洲无人区一区| 欧美日韩国产一区| 肉肉av福利一精品导航| 欧美一级一级性生活免费录像| 婷婷久久综合九色国产成人 | 樱花草国产18久久久久| 91视频免费看| 亚洲国产美国国产综合一区二区| 色噜噜久久综合| 亚洲福利视频导航| 欧美一级高清片| 精品一区在线看| 日本一区二区免费在线观看视频 | 亚洲123区在线观看| 欧美日精品一区视频| 日日摸夜夜添夜夜添国产精品| 7777精品伊人久久久大香线蕉完整版 | 国产精品网站导航| 色综合久久久久久久| 亚洲国产精品一区二区www | 99久久99精品久久久久久| 亚洲激情校园春色| 欧美一区二区福利在线| 成人午夜av影视| 午夜天堂影视香蕉久久| 精品久久人人做人人爽| 91亚洲男人天堂| 奇米影视在线99精品| 中文字幕乱码日本亚洲一区二区| 一本大道久久a久久综合| 免费在线观看成人| 国产精品国产三级国产普通话蜜臀| 色婷婷国产精品久久包臀 | 欧美精品久久一区二区三区| 国内国产精品久久| 伊人色综合久久天天人手人婷| 欧美日韩一区国产| 成人综合日日夜夜| 日韩主播视频在线| **网站欧美大片在线观看| 91精品综合久久久久久| 91在线视频播放| 麻豆91小视频| 亚洲欧美日韩成人高清在线一区| 日韩视频永久免费| 色婷婷久久久久swag精品| 国产精品一区二区三区四区| 亚洲午夜三级在线| 国产精品成人免费| 2023国产精品| 制服丝袜日韩国产| 色婷婷av一区| av综合在线播放| 国模少妇一区二区三区| 天堂午夜影视日韩欧美一区二区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 青娱乐精品在线视频| 日韩伦理电影网| 国产视频在线观看一区二区三区| 欧美日本韩国一区二区三区视频 | 欧美激情一区二区| 色噜噜久久综合| gogo大胆日本视频一区| 韩国毛片一区二区三区| 日韩精品久久久久久| 一区二区三区资源| 亚洲人精品一区| 国产精品人人做人人爽人人添| 精品日韩一区二区三区| 91麻豆精品国产综合久久久久久| 色偷偷久久人人79超碰人人澡| 99国产一区二区三精品乱码| 成人综合婷婷国产精品久久蜜臀 | 精品国产免费一区二区三区四区| 欧美日本在线看| 欧美色综合天天久久综合精品| 色综合久久88色综合天天6| av电影在线观看完整版一区二区| 成人亚洲一区二区一| 国产白丝网站精品污在线入口| 国产成人av电影在线播放| 国产成人激情av| jvid福利写真一区二区三区| 成人免费高清视频| av资源站一区| 在线观看一区二区视频| 91极品视觉盛宴| 欧美日韩国产一级二级| 91精品国产综合久久精品app| 欧美精品aⅴ在线视频| 欧美一级艳片视频免费观看| 日韩欧美国产综合在线一区二区三区| 欧美一区二区福利在线| 久久久久久久久久久99999| 国产无一区二区| 136国产福利精品导航| 一区二区三区高清| 免费的成人av| 国产精品99久久久久久似苏梦涵| 不卡视频在线观看| 在线观看日韩av先锋影音电影院| 精品视频在线视频| 精品国产一区二区三区av性色| 久久久国产一区二区三区四区小说 | 午夜激情综合网| 国内欧美视频一区二区| 成人午夜视频福利| 欧美视频一二三区| 精品国产免费人成在线观看| 国产欧美日韩在线观看| 一区二区三区在线观看动漫| 奇米影视在线99精品| 成人三级伦理片| 欧美精品第1页| 国产精品丝袜一区| 日韩精彩视频在线观看| 国产+成+人+亚洲欧洲自线| 欧洲人成人精品| 久久久久久99久久久精品网站| 亚洲精品视频在线| 成人综合婷婷国产精品久久蜜臀 | 久久久久久久久一| 夜夜嗨av一区二区三区网页| 另类欧美日韩国产在线| 91视视频在线观看入口直接观看www | 欧美美女喷水视频| 国产精品日日摸夜夜摸av| 奇米精品一区二区三区在线观看| 99久久国产综合色|国产精品| 日韩久久免费av| 亚洲国产aⅴ成人精品无吗| 国产露脸91国语对白| 欧美精品丝袜中出| 亚洲蜜臀av乱码久久精品| 国产一区在线精品| 欧美日韩一区二区三区高清| 中文字幕久久午夜不卡| 精彩视频一区二区| 91麻豆精品国产综合久久久久久 | 亚洲二区视频在线| 成人开心网精品视频| 久久综合国产精品| 男人操女人的视频在线观看欧美| 91国产精品成人| 国产精品久久久久久户外露出 | 国产精品久久久久aaaa樱花 | 精品中文av资源站在线观看| 欧洲一区二区三区在线| 亚洲丝袜精品丝袜在线| 成人国产精品免费观看动漫 | 欧美一区二区三区免费在线看 | 波多野结衣中文字幕一区| 久久蜜臀精品av| 精品中文字幕一区二区| 日韩欧美国产一区在线观看| 日韩avvvv在线播放| 欧美老肥妇做.爰bbww| 亚洲国产欧美日韩另类综合| 在线免费一区三区|