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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? cpvsystemconfig.c

?? This file contains board-specific information for the Motorola cpv3060 target board. Specifically,
?? C
字號(hào):
/* cpvSystemConfig.c - Motorola CPV3060 board sytem configuration *//* Copyright 1998-2001 Wind River Systems, Inc. *//* Copyright 1998,2000 Motorola, Inc., All Rights Reserved *//*modification history--------------------01m,16sep01,dat  Use of WRS_ASM macro01l,05dec00,rhk  cleanup to comply with WRS coding standards.01k,06jun99,krp  'bclr' short circuits stack cleanup with optimization                 turned off01j,09aug99,rhk  modified the file to support the standardized Motorola		 VPD routines, only the cpvMemcConfig routine is necessary.01i,16jul99,rhk  modified code for SDRAM sizing.01h,15jul99,rhk  code review cleanup.01g,09jul99,rhk  removed DIMM code from file, updated setup of global		 variables for cpv3060 (in both DPRAM and system globals),		 added code to init SDRAM and configure the memory banks.		 Added sysCpvMsDelay routine.01f,09jun99,srr  changed to support cpv3060.01e,02oct98,rhk  changed large case statements for setting DIMM size,		 banks to if-then-else usage due to possible HW problem.01d,30sep98,rhk  added masking of bits when setting up the BR/OR 1-3 		 registers in cpvMemcConfig.  Added code to reconfigure		 the MAMR register value based on # of memory banks.01c,18sep98,rhk  modified parsing algorithm in cpdVpdValueGet01b,16sep98,rhk  added default DRAM speed setup tp cpvConfigParamsGet01a,01sep98,rhk  written.*//*DESCRIPTIONSystem configuration routines written in C that are called from romInit.sand sysMotVpdCpv3060.c. *//* includes */#include "vxWorks.h"/* defines */#ifndef SYNC#   define SYNC  WRS_ASM("sync")#endif /* SYNC *//* typedefs *//* globals */LOCAL UINT32 sysCpvGetDec(void);void sysCpvMsDelay (UINT mSeconds);/* externals */IMPORT int	abs ();/* locals *//********************************************************************************* cpvMemcConfig - configure the MEMC registers** This routine will perform the final adjustments to the Memory* Controller Bank/Option registers.** RETURNS: N/A*/void cpvMemcConfig(void)    {    UINT32 temp;    UINT32 banks;    /* determine the number of SDRAM banks present */    banks = 1;    if (sysConfigOptions.sdram)	banks = 2;    if (banks == 2)        *MAMR( INTERNAL_MEM_MAP_ADDR ) = (0x0c000000 | MAMR_PTBE |					  MAMR_RLFB_2X | MAMR_WLFB_8X |					  MAMR_TLFB_1X );        /* finish initializing the SDRAM, do the second bank if present */    if (banks == 2)	{	*MCR( INTERNAL_MEM_MAP_ADDR ) = (MCR_OP_RUN | MCR_MB_CS1 |                                          MCR_MCLF_1X | UPMA_READ_OFFSET);	SYNC;	*MCR( INTERNAL_MEM_MAP_ADDR ) = (MCR_OP_RUN | MCR_MB_CS1 |					 MCR_MCLF_1X | UPMA_BURST_WR_OFFSET);	SYNC;	*MAR( INTERNAL_MEM_MAP_ADDR ) = 0x00000088;	*MCR( INTERNAL_MEM_MAP_ADDR ) = (MCR_OP_RUN | MCR_MB_CS1 |					 MCR_MCLF_1X | UPMA_WRITE_OFFSET);	SYNC;	}    /* resize and enable the SDRAM memory banks */    if (sysSdramSize == MEM_SIZE_32MB)	{	if (banks == 1)	    {            *OR2( INTERNAL_MEM_MAP_ADDR ) =                                        ((~(MEM_SIZE_32MB)+1) | OR_ACS_DIV4);            *BR2( INTERNAL_MEM_MAP_ADDR ) = (BR_MS_UPMA | BR_V);            }	else	    {            *OR1( INTERNAL_MEM_MAP_ADDR ) =                                        ((~(MEM_SIZE_16MB)+1) | OR_ACS_DIV4);            *BR1( INTERNAL_MEM_MAP_ADDR ) = (MEM_SIZE_16MB | BR_MS_UPMA | BR_V);	    }	}    else if (sysSdramSize == MEM_SIZE_64MB)	{	if (banks == 1)	    {	    *OR2( INTERNAL_MEM_MAP_ADDR ) =                                        ((~(MEM_SIZE_64MB)+1) | OR_ACS_DIV4);	    *BR2( INTERNAL_MEM_MAP_ADDR ) = (BR_MS_UPMA | BR_V);	    }	else	    {	    *OR2( INTERNAL_MEM_MAP_ADDR ) =                                        ((~(MEM_SIZE_32MB)+1) | OR_ACS_DIV4);            *OR1( INTERNAL_MEM_MAP_ADDR ) =                                        ((~(MEM_SIZE_32MB)+1) | OR_ACS_DIV4);            *BR2( INTERNAL_MEM_MAP_ADDR ) = (BR_MS_UPMA | BR_V);            *BR1( INTERNAL_MEM_MAP_ADDR ) = (MEM_SIZE_32MB | BR_MS_UPMA | BR_V);            }	}    else if (sysSdramSize == MEM_SIZE_128MB)	{        *OR2( INTERNAL_MEM_MAP_ADDR ) = ((~(MEM_SIZE_64MB)+1) | OR_ACS_DIV4);        *OR1( INTERNAL_MEM_MAP_ADDR ) = ((~(MEM_SIZE_64MB)+1) | OR_ACS_DIV4);        *BR2( INTERNAL_MEM_MAP_ADDR ) = (BR_MS_UPMA | BR_V);        *BR1( INTERNAL_MEM_MAP_ADDR ) = (MEM_SIZE_64MB | BR_MS_UPMA | BR_V);	}    /* if QSPAN is present, then enable the valid bits for the PCI banks */    if (sysConfigOptions.pci)        {        temp = *BR5(INTERNAL_MEM_MAP_ADDR) | BR_V;        *BR5(INTERNAL_MEM_MAP_ADDR) = temp;        temp = *BR6(INTERNAL_MEM_MAP_ADDR) | BR_V;        *BR6(INTERNAL_MEM_MAP_ADDR) = temp;        }    /*     * delay for 10MS to allow SDRAM to settle     * Enable the decrementer before the delay.     * Disable the decrementer after the delay.     */    * TBSCR(INTERNAL_MEM_MAP_ADDR) = TBSCR_TBE | TBSCR_TBF;    sysCpvMsDelay (10);    * TBSCR(INTERNAL_MEM_MAP_ADDR) &= ~TBSCR_TBE;    }/******************************************************************************** sysCpvMsDelay - delay for the specified amount of time (MS)** This routine will delay for the specified amount of time by counting* decrementer ticks.** This routine is not dependent on a particular rollover value for* the decrementer, it should work no matter what the rollover* value is.** A small amount of count may be lost at the rollover point resulting in* the sysCpvMsDelay() causing a slightly longer delay than requested.** This routine will produce incorrect results if the delay time requested* requires a count larger than 0xffffffff to hold the decrementer* elapsed tick count.  For a System Bus Speed of 67 MHZ this amounts to* about 258 seconds.** RETURNS: N/A*/void sysCpvMsDelay    (    UINT        delay            /* length of time in MS to delay */    )    {    register UINT32 oldval;      /* decrementer value */    register UINT32 newval;      /* decrementer value */    register UINT32 totalDelta;  /* Dec. delta for entire delay period */    register UINT32 decElapsed;  /* cumulative decrementer ticks */    /* Calculate delta of decrementer ticks for desired elapsed time. */    totalDelta = ((sysCpuSpeed / DEC_CLK_TO_INC) / 1000) *delay;    /*     * Now keep grabbing decrementer value and incrementing "decElapsed" until     * we hit the desired delay value.  Compensate for the fact that we may     * read the decrementer at 0xffffffff before the interrupt service     * routine has a chance to set in the rollover value.     */    decElapsed = 0;    oldval = sysCpvGetDec();    while (decElapsed < totalDelta)        {        newval = sysCpvGetDec();        if ( DELTA(oldval,newval) < 1000 )            decElapsed += DELTA(oldval,newval);  /* no rollover */        else            if (newval > oldval)                decElapsed += abs((int)oldval);  /* rollover */        oldval = newval;        }  }/******************************************************************************** sysCpvGetDec - read from the Decrementer register SPR22.** This routine will read the contents the decrementer (SPR22)** RETURNS: value of SPR22 (in r3)*/LOCAL UINT32 sysCpvGetDec(void)    {    return vxDecGet();    }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
热久久免费视频| 欧美日韩国产成人在线免费| 成人黄色在线看| 欧美日本精品一区二区三区| 国产精品三级av在线播放| 高清不卡一区二区在线| 欧美日韩一区二区三区免费看 | 综合欧美一区二区三区| 天堂精品中文字幕在线| 91香蕉国产在线观看软件| 精品国产伦一区二区三区观看体验| 亚洲欧美一区二区久久| 高清av一区二区| 亚洲精品在线免费播放| 全国精品久久少妇| 欧美日韩一区二区三区四区| 亚洲欧美日韩一区二区三区在线观看| 国产伦精品一区二区三区视频青涩| 制服丝袜国产精品| 亚洲五月六月丁香激情| 91色|porny| 综合激情成人伊人| 国产**成人网毛片九色 | 99在线精品免费| 久久在线观看免费| 久久国产尿小便嘘嘘尿| 欧美精品自拍偷拍动漫精品| 一区二区三区四区在线免费观看| 国产精品69久久久久水密桃| 欧美成人在线直播| 蜜桃精品在线观看| 日韩三级伦理片妻子的秘密按摩| 亚洲成人精品一区| 欧美视频一区二| 一区二区三区在线观看动漫| 91国内精品野花午夜精品 | 日韩无一区二区| 奇米精品一区二区三区四区| 5566中文字幕一区二区电影| 午夜av电影一区| 在线播放91灌醉迷j高跟美女 | 伊人婷婷欧美激情| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 久久超碰97中文字幕| 欧美一区二区三区系列电影| 日本最新不卡在线| 精品国产乱子伦一区| 国产精品一区二区无线| 国产成人免费视频一区| 日韩—二三区免费观看av| 久久综合色婷婷| 日韩色在线观看| 五月婷婷激情综合网| 久久久久久久久久美女| 欧美日韩一区二区欧美激情| 国产麻豆午夜三级精品| 亚洲图片欧美综合| 91麻豆精品一区二区三区| 日本一区二区成人| av午夜一区麻豆| 亚洲精品高清在线观看| 欧美艳星brazzers| 亚洲成国产人片在线观看| 欧美一区二区三区色| 国产一区二区三区在线观看免费| 国产午夜精品久久久久久免费视 | 极品少妇xxxx偷拍精品少妇| 久久日韩粉嫩一区二区三区| 成人理论电影网| 一区二区三区久久久| 欧美精品久久久久久久多人混战 | 99久久伊人网影院| 亚洲一区二区在线视频| 91精品国产欧美日韩| 精品一区二区在线播放| 欧美国产一区二区在线观看| 色哟哟日韩精品| 免费xxxx性欧美18vr| 久久久久97国产精华液好用吗| 成人黄色软件下载| 亚洲成av人片一区二区梦乃| 日韩精品中文字幕一区二区三区| 国产91丝袜在线观看| 亚洲一区自拍偷拍| 欧美精品一区视频| 色国产综合视频| 美女视频黄免费的久久 | 欧美xxxxx裸体时装秀| 成人av电影观看| 香蕉久久一区二区不卡无毒影院| 精品久久久三级丝袜| 99久久亚洲一区二区三区青草| 视频一区二区欧美| 国产三级精品在线| 欧美色图在线观看| 国产乱码精品一区二区三区av| 亚洲免费看黄网站| 日韩欧美亚洲国产精品字幕久久久| 成人一级片网址| 亚洲日本中文字幕区| 亚洲综合在线五月| 久久99深爱久久99精品| 盗摄精品av一区二区三区| 91在线观看地址| 久久日韩粉嫩一区二区三区| 日韩一级在线观看| 国产日韩一级二级三级| 一二三区精品福利视频| 爽好多水快深点欧美视频| 蜜臀精品一区二区三区在线观看| 国产精品综合二区| 亚洲国产日韩a在线播放性色| 久久免费电影网| 欧美性生活影院| 成人午夜精品在线| 免费观看成人鲁鲁鲁鲁鲁视频| 综合亚洲深深色噜噜狠狠网站| 久久嫩草精品久久久久| 欧美日韩三级一区| 91免费视频大全| 国产成人免费视频 | 日韩欧美一二三四区| 日本高清视频一区二区| 国产成人三级在线观看| 日韩精彩视频在线观看| 亚洲精品伦理在线| 国产精品女主播av| 2014亚洲片线观看视频免费| 欧美美女喷水视频| 在线视频一区二区免费| 成人开心网精品视频| 国内精品自线一区二区三区视频| 三级不卡在线观看| 亚洲精品v日韩精品| 国产精品久久久久aaaa樱花| 久久在线观看免费| 精品国产自在久精品国产| 制服.丝袜.亚洲.中文.综合| 欧美性感一类影片在线播放| 91网站最新地址| 菠萝蜜视频在线观看一区| 国产精品一二一区| 国产伦理精品不卡| 国产综合久久久久久鬼色| 美女视频黄 久久| 蜜桃av一区二区在线观看| 全部av―极品视觉盛宴亚洲| 亚洲gay无套男同| 偷拍自拍另类欧美| 视频一区国产视频| 日本免费新一区视频| 偷窥少妇高潮呻吟av久久免费| 亚洲高清免费视频| 亚洲小少妇裸体bbw| 亚洲一区电影777| 亚洲午夜久久久久久久久电影网 | 国产精品不卡一区二区三区| 国产清纯在线一区二区www| 久久久精品2019中文字幕之3| 久久综合久久鬼色| 久久精品一区四区| 中文字幕av资源一区| 国产精品三级av在线播放| 国产精品国产三级国产普通话99| 国产精品伦一区二区三级视频| 中文在线一区二区| 亚洲欧洲无码一区二区三区| 亚洲天堂av老司机| 亚洲一二三四在线| 亚洲美女在线一区| 欧美一级二级三级蜜桃| av不卡免费电影| 亚洲电影第三页| 日韩精品最新网址| 97se亚洲国产综合自在线不卡| 亚洲一区免费视频| 国产精品免费视频一区| 成人99免费视频| 亚洲另类春色校园小说| 欧美刺激脚交jootjob| 不卡视频在线观看| 免费久久99精品国产| 日产国产欧美视频一区精品| 一个色综合网站| 日韩1区2区日韩1区2区| 蜜桃av一区二区| 成人永久免费视频| 一本色道久久加勒比精品| 欧美日韩黄色影视| 精品成人在线观看| 国产精品成人在线观看| 天堂午夜影视日韩欧美一区二区| 麻豆中文一区二区| 成人中文字幕在线| 欧美私人免费视频| 日韩一区二区影院| 国产精品久久久久一区| 香蕉乱码成人久久天堂爱免费| 国产专区综合网| 色哟哟精品一区|