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

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

?? init.c

?? SMDK2440 s3c2440 WINCE 5.00 bsp 編譯通過
?? C
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
//------------------------------------------------------------------------------
//
//  File:  init.c
//
//  Samsung SMDK2440A board initialization code.
//
#include <bsp.h>

#include "bitmap.c" 
static void InitDisplay(void);
extern DWORD CEProcessorType;
void ConfigureGPIO(void);



//------------------------------------------------------------------------------
//
//  Function:  OEMInit
//
//  This is Windows CE OAL initialization function. It is called from kernel
//  after basic initialization is made.
//
void OEMInit()
{
    OALMSG(OAL_FUNC, (L"+OEMInit\r\n"));

    CEProcessorType=PROCESSOR_STRONGARM;

    // Set memory size for DrWatson kernel support
    dwNKDrWatsonSize = 128 * 1024;

    // Initilize cache globals
    OALCacheGlobalsInit();

    OALLogSerial(
        L"DCache: %d sets, %d ways, %d line size, %d size\r\n", 
        g_oalCacheInfo.L1DSetsPerWay, g_oalCacheInfo.L1DNumWays,
        g_oalCacheInfo.L1DLineSize, g_oalCacheInfo.L1DSize
    );
    OALLogSerial(
        L"ICache: %d sets, %d ways, %d line size, %d size\r\n", 
        g_oalCacheInfo.L1ISetsPerWay, g_oalCacheInfo.L1INumWays,
        g_oalCacheInfo.L1ILineSize, g_oalCacheInfo.L1ISize
    );
    
    // Initialize interrupts
    if (!OALIntrInit()) {
        OALMSG(OAL_ERROR, (
            L"ERROR: OEMInit: failed to initialize interrupts\r\n"
        ));
    }

    // Initialize system clock
    OALTimerInit(1, 17, 0);	//S3C2440A_PCLK/245/16/1000=16.992

	ConfigureGPIO();

	InitDisplay();

    // Initialize the KITL connection if required
    OALKitlStart();

    OALMSG(OAL_FUNC, (L"-OEMInit\r\n"));
}

//------------------------------------------------------------------------------

static void InitDisplay(void)
{
    volatile S3C2440A_IOPORT_REG *s2440IOP = (S3C2440A_IOPORT_REG *)OALPAtoVA(S3C2440A_BASE_REG_PA_IOPORT, FALSE);
    volatile S3C2440A_LCD_REG    *s2440LCD = (S3C2440A_LCD_REG *)OALPAtoVA(S3C2440A_BASE_REG_PA_LCD, FALSE);
	unsigned int clkval_calc;  // 040507
    // Set up the LCD controller registers to display a power-on bitmap image.
    //
    s2440IOP->GPCUP     = 0xFFFFFFFF;
    s2440IOP->GPCCON    = 0xAAAAAAAA;
                                    
	s2440IOP->GPEDAT    = 0x1;
    s2440IOP->GPDUP     = 0xFFFFFFFF;
    s2440IOP->GPDCON    = 0xAAAAAAA1; 

	clkval_calc = (WORD)((float)(S3C2440A_HCLK)/(2.0*5000000)+0.5)-1;
    s2440LCD->LCDCON1   =  (clkval_calc           <<  8) |       /* VCLK = HCLK / ((CLKVAL + 1) * 2) -> About 7 Mhz  */
                           (LCD_MVAL   <<  7)  |       /* 0 : Each Frame                                   */
                           (3           <<  5) |       /* TFT LCD Pannel                                   */
                           (12          <<  1) |       /* 16bpp Mode                                       */
                           (0           <<  0) ;       /* Disable LCD Output                               */

    s2440LCD->LCDCON2   =  (LCD_VBPD        << 24) |   /* VBPD          :   1                              */
                           (LCD_LINEVAL_TFT << 14) |   /* Vertical Size : 320 - 1                          */
                           (LCD_VFPD        <<  6) |   /* VFPD          :   2                              */
                           (LCD_VSPW        <<  0) ;   /* VSPW          :   1                              */

    s2440LCD->LCDCON3   =  (LCD_HBPD        << 19) |   /* HBPD          :   6                              */
                           (LCD_HOZVAL_TFT  <<  8) |   /* HOZVAL_TFT    : 240 - 1                          */
                           (LCD_HFPD        <<  0) ;   /* HFPD          :   2                              */


    s2440LCD->LCDCON4   =  (LCD_MVAL        <<  8) |   /* MVAL          :  13                              */
                           (LCD_HSPW        <<  0) ;   /* HSPW          :   4                              */

    s2440LCD->LCDCON5   =  (0           << 12) |       /* BPP24BL       : LSB valid                        */
                           (1           << 11) |       /* FRM565 MODE   : 5:6:5 Format                     */
                           (0           << 10) |       /* INVVCLK       : VCLK Falling Edge                */
                           (1           <<  9) |       /* INVVLINE      : Inverted Polarity                */
                           (1           <<  8) |       /* INVVFRAME     : Inverted Polarity                */
                           (0           <<  7) |       /* INVVD         : Normal                           */
                           (0           <<  6) |       /* INVVDEN       : Normal                           */
                           (0           <<  5) |       /* INVPWREN      : Normal                           */
                           (0           <<  4) |       /* INVENDLINE    : Normal                           */
                           (1           <<  3) |       /* PWREN         : Disable PWREN                    */
                           (0           <<  2) |       /* ENLEND        : Disable LEND signal              */
                           (0           <<  1) |       /* BSWP          : Swap Disable                     */
                           (1           <<  0) ;       /* HWSWP         : Swap Enable                      */

    s2440LCD->LCDSADDR1 = ((IMAGE_FRAMEBUFFER_DMA_BASE >> 22)     << 21) | 
                          ((M5D(IMAGE_FRAMEBUFFER_DMA_BASE >> 1)) <<  0);

    s2440LCD->LCDSADDR2 = M5D((IMAGE_FRAMEBUFFER_DMA_BASE + (LCD_XSIZE_TFT * LCD_YSIZE_TFT * 2)) >> 1);

    s2440LCD->LCDSADDR3 = (((LCD_XSIZE_TFT - LCD_XSIZE_TFT) / 1) << 11) | (LCD_XSIZE_TFT / 1);        

    //s2440LCD->TCONSEL   |= 0x3;
	s2440LCD->TCONSEL   &= (~7);
    s2440LCD->TCONSEL   |= (0x1<<4);

	s2440LCD->TPAL      = 0x0;        
    s2440LCD->LCDCON1  |= 1;

    // Display a bitmap image on the LCD...
    //
    memcpy((void *)IMAGE_FRAMEBUFFER_UA_BASE, ScreenBitmap, LCD_ARRAY_SIZE_TFT_16BIT);

}


void ConfigureGPIO()
{
    volatile S3C2440A_IOPORT_REG *s2440IOP = (S3C2440A_IOPORT_REG *)OALPAtoVA(S3C2440A_BASE_REG_PA_IOPORT, FALSE);
    volatile S3C2440A_CLKPWR_REG *s2440CLKPWR = (S3C2440A_CLKPWR_REG *)OALPAtoVA(S3C2440A_BASE_REG_PA_CLOCK_POWER, FALSE);

    s2440IOP->GPACON    = 0x7fffff;

    s2440IOP->GPBDAT    = 0x62;
    s2440IOP->GPBUP     = 0x7FF;
    s2440IOP->GPBCON    = 0x2A96A4;

    s2440IOP->GPCUP     = 0xFFFF;
    s2440IOP->GPCCON    = 0xAAAAAAAA;
                                    
	s2440IOP->GPEDAT    = 0x1;
    s2440IOP->GPDUP     = 0xFFFF;
    s2440IOP->GPDCON    = 0xAAAAAAA1;
    
    s2440IOP->GPEDAT    = 0x0;
    s2440IOP->GPEUP     = 0xFFFF;
    s2440IOP->GPECON    = 0xAAAAAAAA;
    
    s2440IOP->GPFDAT    = 0xF0;
    s2440IOP->GPFUP     = 0xFF;
    s2440IOP->GPFCON    = 0x55aa;
    
    s2440IOP->GPGDAT    = 0x1000;
    s2440IOP->GPGUP     = 0xFEFF;
    s2440IOP->GPGCON    = 0x0480FFBA;
    s2440IOP->GPGDAT    |= 0x1<<12;
    s2440IOP->GPGUP     |= 0x1<<12;
    s2440IOP->GPGCON    = (s2440IOP->GPGCON & ~(0x3<<24)) | 0x1<<24;

    s2440IOP->GPHDAT    = 0x0;
    s2440IOP->GPHUP     = 0x7FF;
    s2440IOP->GPHCON    = 0x14AAAA;

    s2440IOP->GPJDAT    = 0x1000;
    s2440IOP->GPJUP     = 0x1FFF;
    s2440IOP->GPJCON    = 0x1AAAAA;

	s2440IOP->MISCCR &= ~(7<<20);
	s2440IOP->MISCCR |= (4<<20);
	s2440IOP->MISCCR &= ~(7<<8);
	s2440IOP->MISCCR |= (5<<8);
	s2440IOP->MISCCR &= ~(7<<4);
	s2440IOP->MISCCR |= (5<<4);
	s2440IOP->MISCCR |= (3<<0);
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美系列在线观看| 日韩欧美一级二级三级| 美女一区二区三区| 亚洲精选免费视频| 欧美日韩一区高清| 97久久精品人人做人人爽 | 欧美aaa在线| 亚洲乱码国产乱码精品精的特点| 久久夜色精品国产噜噜av | 欧美tickle裸体挠脚心vk| 欧洲在线/亚洲| 不卡一二三区首页| 国产精品正在播放| 久草中文综合在线| 五月婷婷综合网| 亚洲欧美一区二区久久| 国产欧美精品一区| 日韩美女视频在线| 欧美一区二区视频观看视频| 在线观看日韩电影| 91日韩一区二区三区| 风间由美一区二区三区在线观看 | 亚洲高清不卡在线| 亚洲同性gay激情无套| 国产精品理论片在线观看| 亚洲精品一区二区三区精华液 | 91啦中文在线观看| 不卡一二三区首页| 成人午夜电影小说| 丁香一区二区三区| 高清beeg欧美| 国产传媒日韩欧美成人| 国产精品99精品久久免费| 国产精品自在欧美一区| 国产一区二区不卡在线| 国产精品2024| 成人高清视频在线| 91视频免费观看| 日本高清不卡在线观看| 在线免费观看日本欧美| 欧美亚洲一区二区在线| 欧美日韩精品综合在线| 欧美一三区三区四区免费在线看| 欧美一区二区免费视频| 精品88久久久久88久久久 | 视频一区二区三区入口| 三级亚洲高清视频| 精品一区二区三区在线播放视频| 精东粉嫩av免费一区二区三区| 看电影不卡的网站| 国产精品资源在线| 9i在线看片成人免费| 91久久精品一区二区三| 亚洲一区免费观看| 中文字幕在线不卡视频| 亚洲视频一二三| 亚洲成人免费影院| 蜜桃视频第一区免费观看| 玖玖九九国产精品| 丁香一区二区三区| 欧美色综合天天久久综合精品| 欧美日韩国产在线观看| 精品福利在线导航| 国产精品久久久久久久久免费桃花| 一区二区国产视频| 精品在线观看免费| 成人黄色电影在线| 欧美精品国产精品| wwwwww.欧美系列| 亚洲色欲色欲www| 日韩主播视频在线| 国产.精品.日韩.另类.中文.在线.播放| av成人老司机| 91精品在线一区二区| 国产精品五月天| 性欧美疯狂xxxxbbbb| 麻豆久久久久久| 91蝌蚪porny| 精品999在线播放| 一二三区精品视频| 精品久久久久一区| 欧美成人乱码一区二区三区| 国产精品高潮呻吟| 美女脱光内衣内裤视频久久网站| 国产盗摄一区二区三区| 91.com在线观看| 中文字幕乱码亚洲精品一区| 亚洲成av人片一区二区梦乃 | 99re免费视频精品全部| 日韩欧美亚洲国产精品字幕久久久| 亚洲欧洲精品成人久久奇米网| 丝袜诱惑制服诱惑色一区在线观看| 国产91丝袜在线18| 91精品国产aⅴ一区二区| 国产精品久久久久一区| 不卡一区二区三区四区| 91精品国产综合久久福利软件| 亚洲欧洲一区二区三区| 伦理电影国产精品| 欧美日韩精品一区二区三区 | 精品日韩av一区二区| 亚洲美女偷拍久久| 国产成人综合自拍| 日韩免费高清av| 亚洲成人黄色小说| 一本大道av一区二区在线播放| 久久久亚洲精华液精华液精华液| 日韩精品视频网| 欧美日韩视频在线一区二区 | 免费看精品久久片| 欧美在线观看视频一区二区| 国产精品电影一区二区| 国产精品一二三区在线| 精品va天堂亚洲国产| 另类小说综合欧美亚洲| 337p亚洲精品色噜噜| 亚洲国产综合色| 在线观看一区日韩| 一区二区三区中文字幕精品精品 | 国内精品第一页| 精品国精品国产| 极品美女销魂一区二区三区| 1024成人网| 香蕉成人伊视频在线观看| 波多野结衣91| 欧美激情资源网| 成人性视频网站| 久久精品视频一区二区| 韩日精品视频一区| 日韩免费一区二区| 蜜桃视频一区二区| 欧美一区二区福利在线| 全部av―极品视觉盛宴亚洲| 欧美精品色一区二区三区| 亚洲v中文字幕| 欧美高清激情brazzers| 日日骚欧美日韩| 日韩欧美国产麻豆| 久久se精品一区精品二区| 日韩欧美一级二级| 免费国产亚洲视频| 欧美电影免费提供在线观看| 久久国产精品72免费观看| www国产精品av| 国产成人av在线影院| 中文字幕精品一区二区三区精品| 粉嫩在线一区二区三区视频| 亚洲精品视频在线观看网站| 91国内精品野花午夜精品 | 亚洲乱码国产乱码精品精小说| 一本一道久久a久久精品| 亚洲一卡二卡三卡四卡五卡| 欧美日韩国产片| 麻豆久久久久久久| 日本一区二区三区四区在线视频| 91色porny在线视频| 一区二区成人在线观看| 9191国产精品| 国产麻豆精品视频| 综合在线观看色| 欧美喷水一区二区| 激情小说欧美图片| 亚洲人午夜精品天堂一二香蕉| 欧美日韩在线精品一区二区三区激情 | 国产欧美精品区一区二区三区| 99久久综合色| 人妖欧美一区二区| 国产精品伦一区| 在线91免费看| 成人黄色电影在线| 亚洲成人av一区二区三区| 欧美精品一区二区三区一线天视频| 成人av中文字幕| 婷婷开心激情综合| 国产欧美一区视频| 精品视频免费看| 国产91精品精华液一区二区三区| 亚洲精品水蜜桃| 久久综合资源网| 色婷婷久久久综合中文字幕| 毛片av一区二区三区| 中文字幕中文字幕在线一区| 欧美精品在线一区二区| 成人午夜免费电影| 日本一区中文字幕| 综合色中文字幕| 久久亚洲综合色| 欧美一a一片一级一片| 国产91丝袜在线播放| 热久久免费视频| 国产精品不卡一区| 日韩欧美专区在线| 99国产精品久久久久久久久久久| 日韩国产成人精品| 日韩美女视频19| 精品国产91乱码一区二区三区| 欧美亚洲愉拍一区二区| 99久久婷婷国产| 国产成人午夜精品5599| 欧美aaaaaa午夜精品|