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

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

?? ppc405timer.c

?? WINDRIVER SBC405 BSP
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* ppc405Timer.c - PowerPC 405 timer library *//*******************************************************************************   This source and object code has been made available to you by IBM on an   AS-IS basis.   IT IS PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING THE WARRANTIES OF   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE OR OF NONINFRINGEMENT   OF THIRD PARTY RIGHTS.  IN NO EVENT SHALL IBM OR ITS LICENSORS BE LIABLE   FOR INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES.  IBMS OR ITS LICENSORS   DAMAGES FOR ANY CAUSE OF ACTION, WHETHER IN CONTRACT OR IN TORT, AT LAW OR   AT EQUITY, SHALL BE LIMITED TO A MAXIMUM OF $1,000 PER LICENSE.  No license   under IBM patents or patent applications is to be implied by the copyright   license.   Any user of this software should understand that neither IBM nor its   licensors will be responsible for any consequences resulting from the use   of this software.   Any person who transfers this source code or any derivative work must   include the IBM copyright notice, this paragraph, and the preceding two   paragraphs in the transferred software.   Any person who transfers this object code or any derivative work must   include the IBM copyright notice in the transferred software.   COPYRIGHT   I B M   CORPORATION 2000   LICENSED MATERIAL  -  PROGRAM PROPERTY OF  I B M"*******************************************************************************//* Copyright 1984-2002 Wind River Systems, Inc. *//*modification history--------------------01h,12jul02,pch  SPR 77082: fix compiler warning re unused fitTable[] and		 fitPeriodMask[]01g,19apr02,gjc  Fixing sysAuxClkSetRate algorithm.01f,19nov01,g_h  Add #ifdef INCLUDE_AUX_CLK to isolate the AUX clock01e,06dec01,kab  Update for T2.2; fix compiler warnings01d,19sep01,pch  SPR 20698, 69142, 69143:  TSR is write-to-clear,		 not read/modify/writeback01c,29nov00,s_m  changes from ibm01b,23mar00,mcg  removed manual PIT reload in sysClkInt01a,20sep99,mcg  created from ppc403Timer.c version 01n*//*DESCRIPTIONThis library provides PowerPC 405 Timer routines.  This library handlesthe system clock, the auxiliary clock and timestamp functions. Toinclude the timestamp timer facility, the macro INCLUDE_TIMESTAMP mustbe defined.The macro SYS_CLK_FREQ should be defined before usingthis module.  This macro is the rate at which clock ticks occur.  Fordouble clocked busses, this value should be half the actual clock speed.The macros SYS_CLK_RATE_MIN, SYS_CLK_RATE_MAX, AUX_CLK_RATE_MIN,and AUX_CLK_RATE_MAX must be defined to provideparameter checking for sysClkRateSet().The BSP is responsible for connecting the interrupt handlers, sysClkInt(),and sysAuxClkInt(), to the appropriate vectors.INCLUDE FILES: ppc403Timer.hSEE ALSO:.pG "Configuration"*//* includes */#include "vxWorks.h"#include "vxLib.h"#include "intLib.h"#include "drv/timer/ppc403Timer.h"#include "drv/timer/timestampDev.h"/* local defines *//* Auxiliary clock default rate */#ifndef AUX_CLK_RATE_DEFAULT#   define AUX_CLK_RATE_DEFAULT 10#endif/* extern declarations *//* Locals */#ifdef INCLUDE_AUX_CLKLOCAL FIT_PERIOD fitTable[] =                   /* available FIT periods */    {    {   (1 << 9),  0x00000000},    {   (1 << 13), 0x01000000},    {   (1 << 17), 0x02000000},    {   (1 << 21), 0x03000000},    };#endif /* INCLUDE_AUX_CLK */LOCAL WDT_PERIOD wdtTable[] =                   /* available WDT periods */    {    {   (1 << 17), 0x00000000},    {   (1 << 21), 0x40000000},    {   (1 << 25), 0x80000000},    {   (1 << 29), 0xC0000000},    };LOCAL int       sysClkTicksPerSecond    = 60;   /* default 60 ticks/second */LOCAL FUNCPTR   sysClkRoutine           = NULL;LOCAL int       sysClkArg               = 0;LOCAL BOOL      sysClkConnectFirstTime  = TRUE;LOCAL BOOL      sysClkRunning           = FALSE;#ifdef INCLUDE_AUX_CLKLOCAL int       sysAuxClkTicksPerSecond = AUX_CLK_RATE_DEFAULT;LOCAL FUNCPTR   sysAuxClkRoutine        = NULL;LOCAL int       sysAuxClkArg            = 0;LOCAL BOOL      sysAuxClkRunning        = FALSE;#endif /* INCLUDE_AUX_CLK */LOCAL int       sysWdtTicksPerSecond    = 1;LOCAL FUNCPTR   sysWdtRoutine           = NULL;LOCAL int       sysWdtArg               = 0;LOCAL BOOL      sysWdtRunning           = FALSE;LOCAL UINT32    pitCountVal;                    /* PIT counter value */#ifdef INCLUDE_AUX_CLKLOCAL UINT32    fitPeriodMask = 0x01000000;     /* default FIT period: 2^21 */#endif /* INCLUDE_AUX_CLK */LOCAL UINT32    wdtPeriodMask = 0xC0000000;     /* default WDT period: 2^29 */#ifdef  INCLUDE_TIMESTAMPLOCAL BOOL      sysTimestampRunning     = FALSE;   /* timestamp running flag */#endif  /* INCLUDE_TIMESTAMP *//************************************************************************* sysClkInt - clock interrupt handler** This routine handles the clock interrupt on the PowerPC 405 architecture. It* is attached to the Programmable Interval Timer vector by the routine* sysClkConnect().** RETURNS : N/A*/LOCAL void sysClkInt (void)    {    /* Acknowledge PIT interrupt */    vxPitIntAck ();    /* The PIT reloads itself automatically */    /* Execute the system clock routine */    if (sysClkRoutine != NULL)        (*(FUNCPTR) sysClkRoutine) (sysClkArg);    }/************************************************************************* sysClkConnect - connect a routine to the system clock interrupt** This routine specifies the interrupt service routine to be called at each* clock interrupt.  Normally, it is called from usrRoot() in usrConfig.c to* connect usrClock() to the system clock interrupt.  It also connects the* clock error interrupt service routine.** RETURNS: OK, or ERROR if the routine cannot be connected to the interrupt.** SEE ALSO: usrClock(), sysClkEnable()*/STATUS sysClkConnect    (    FUNCPTR     routine,        /* routine to connect */    int         arg             /* argument with which to call the routine */    )    {    if (sysClkConnectFirstTime)        {        sysHwInit2();        sysClkConnectFirstTime = FALSE;        }    sysClkRoutine       = routine;    sysClkArg           = arg;    return (OK);    }/************************************************************************* sysClkEnable - turn on system clock interrupts** This routine enables system clock interrupts.** RETURNS: N/A** SEE ALSO: sysClkConnect(), sysClkDisable(), sysClkRateSet()*/void sysClkEnable (void)    {    if (!sysClkRunning)        {        /* clear the pending PIT interrupt */        vxTsrSet (_PPC403_TSR_PIS);        /* load the PIT counter and the hidden register with interval value */        vxPitSet (pitCountVal);        /* Enable the PIT interrupt & enable autoreload */        vxTcrSet (vxTcrGet() | _PPC403_TCR_PIE | _PPC403_TCR_ARE);        /* set the running flag */        sysClkRunning = TRUE;        }    }/************************************************************************* sysClkDisable - turn off system clock interrupts** This routine disables system clock interrupts.** RETURNS: N/A** SEE ALSO: sysClkEnable()*/void sysClkDisable (void)    {    if (sysClkRunning)        {        /* disable the PIT interrupt and auto-reload capability */        vxTcrSet (vxTcrGet() & ~ (_PPC403_TCR_PIE | _PPC403_TCR_ARE));        /* clear the PIT counter */        vxPitSet (0);        /* clear the pending PIT interrupt */        vxTsrSet (_PPC403_TSR_PIS);        /* reset the running flag */        sysClkRunning = FALSE;        }    }/************************************************************************* sysClkRateGet - get the system clock rate** This routine returns the system clock rate.** RETURNS: The number of ticks per second of the system clock.** SEE ALSO: sysClkEnable(), sysClkRateSet()*/int sysClkRateGet (void)    {    return (sysClkTicksPerSecond);    }/************************************************************************* sysClkRateSet - set the system clock rate** This routine sets the interrupt rate of the system clock.  It does not* enable system clock interrupts.  It is called by usrRoot() in* usrConfig.c.** RETURNS: OK, or ERROR if the tick rate is invalid or the timer cannot be set.** SEE ALSO: sysClkEnable(), sysClkRateGet()*/STATUS sysClkRateSet    (    int         ticksPerSecond  /* number of clock interrupts per second */    )    {    if (ticksPerSecond < SYS_CLK_RATE_MIN || ticksPerSecond > SYS_CLK_RATE_MAX)        return (ERROR);    /* save the clock speed */    sysClkTicksPerSecond = ticksPerSecond;    /*     * compute the value to load in the decrementor. The new value will be     * load in the decrementor after the end of the current period     */    pitCountVal = sysTimerClkFreq / ticksPerSecond;    /* Update the PIT interval  FIX 11/27/00 */     vxPitSet (pitCountVal);    return (OK);    }#ifdef INCLUDE_AUX_CLK/************************************************************************* sysAuxClkInt - auxilary clock interrupt handler** This routine handles the auxilary clock interrupt on the PowerPC 405* architecture. It is attached to the Fix Interval Timer vector by the routine* sysAuxClkConnect().** RETURNS : N/A*/LOCAL void sysAuxClkInt (void)    {    vxFitIntAck ();             /* acknowledge FIT interrupt */    /* program TCR with the FIT period */    vxTcrSet ((vxTcrGet() & ~_PPC403_TCR_FP) | fitPeriodMask);    /* execute the system clock routine */    if (sysAuxClkRoutine != NULL)        (*(FUNCPTR) sysAuxClkRoutine) (sysAuxClkArg);    }/************************************************************************* sysAuxClkConnect - connect a routine to the auxiliary clock interrupt** This routine specifies the interrupt service routine to be called at each* auxiliary clock interrupt.  It does not enable auxiliary clock* interrupts.** RETURNS: OK, or ERROR if the routine cannot be connected to the interrupt.** SEE ALSO: excIntConnectTimer(), sysAuxClkEnable()*/STATUS sysAuxClkConnect    (    FUNCPTR routine,    /* routine called at each aux. clock interrupt */    int     arg         /* argument to auxiliary clock interrupt */    )    {    sysAuxClkRoutine    = routine;    sysAuxClkArg        = arg;    return (OK);    }/************************************************************************* sysAuxClkEnable - turn on auxiliary clock interrupts** This routine enables auxiliary clock interrupts.** RETURNS: N/A** SEE ALSO: sysAuxClkConnect(), sysAuxClkDisable(), sysAuxClkRateSet()*/void sysAuxClkEnable (void)    {    if (!sysAuxClkRunning)        {        /* clear the pending FIT interrupt */        vxTsrSet (_PPC403_TSR_FIS);        /* program TCR with the FIT period */        vxTcrSet ((vxTcrGet() & ~_PPC403_TCR_FP) | fitPeriodMask);        /* Enable the FIT interrupt */        vxTcrSet (vxTcrGet() | _PPC403_TCR_FIE);        /* set the running flag */        sysAuxClkRunning = TRUE;        }    }/************************************************************************* sysAuxClkDisable - turn off auxiliary clock interrupts** This routine disables auxiliary clock interrupts.*** RETURNS: N/A** SEE ALSO: sysAuxClkEnable()*/void sysAuxClkDisable (void)    {    if (sysAuxClkRunning)        {        /* disable the FIT interrupt */        vxTcrSet (vxTcrGet() & ~ (_PPC403_TCR_FIE));        /* clear the pending FIT interrupt */        vxTsrSet (_PPC403_TSR_FIS);        /* reset the running flag */        sysAuxClkRunning = FALSE;        }    }/************************************************************************* sysAuxClkRateGet - get the auxiliary clock rate

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米精品一区二区三区在线观看 | 91精品国产综合久久精品app| 久久成人麻豆午夜电影| 亚洲乱码国产乱码精品精98午夜| 欧美成人国产一区二区| 欧美性videosxxxxx| 成人免费视频视频在线观看免费| 免费观看91视频大全| 亚洲一区在线免费观看| 亚洲女同ⅹxx女同tv| 亚洲视频狠狠干| 亚洲六月丁香色婷婷综合久久| 国产精品视频九色porn| 国产精品久久久久精k8| 中文字幕在线免费不卡| 亚洲美女淫视频| 亚洲午夜在线视频| 日韩精品乱码免费| 久久www免费人成看片高清| 久久99国内精品| 国产成人精品一区二| av电影在线观看一区| 一本久久综合亚洲鲁鲁五月天 | 中文字幕不卡的av| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲视频在线一区二区| 亚洲一区视频在线| 久久草av在线| 91免费版pro下载短视频| 欧美伊人久久大香线蕉综合69| 91精品国产福利在线观看 | 亚洲18色成人| 国产永久精品大片wwwapp| 成人sese在线| 欧美女孩性生活视频| 精品国产精品网麻豆系列| 亚洲欧美在线高清| 欧美96一区二区免费视频| 丁香桃色午夜亚洲一区二区三区| 一本色道亚洲精品aⅴ| 久久青草国产手机看片福利盒子| 亚洲男人的天堂av| 久草在线在线精品观看| 在线观看一区不卡| 久久久久久久久97黄色工厂| 综合久久综合久久| 福利一区二区在线| 精品少妇一区二区三区免费观看 | 午夜天堂影视香蕉久久| 成人aa视频在线观看| 久久综合精品国产一区二区三区| 亚洲视频每日更新| 99精品欧美一区二区三区综合在线| 91精品一区二区三区在线观看| 亚洲同性gay激情无套| 国产精品 日产精品 欧美精品| 欧美日韩高清在线| 亚洲一区二区三区四区中文字幕 | 国产成人在线看| 欧美变态凌虐bdsm| 久久精品国产精品亚洲精品| 欧美午夜精品理论片a级按摩| 亚洲色图都市小说| 成人激情黄色小说| 中文字幕精品综合| 国产成人鲁色资源国产91色综| 久久在线观看免费| 国产在线精品不卡| 精品成人免费观看| 国模套图日韩精品一区二区| 欧美一区二视频| 久久99蜜桃精品| 国产拍揄自揄精品视频麻豆| 国产91在线|亚洲| 国产精品二三区| 欧美亚洲一区二区在线| 日日夜夜精品视频天天综合网| 欧美日韩国产一二三| 亚洲成av人影院在线观看网| 欧美α欧美αv大片| 国产成人免费视频精品含羞草妖精| 国产精品美女一区二区三区| 91美女片黄在线| 午夜精品久久久久久久蜜桃app| 欧美一区二区三区四区五区 | 国产精品免费aⅴ片在线观看| 在线免费观看日本欧美| 青青草97国产精品免费观看| 中文在线免费一区三区高中清不卡| 成av人片一区二区| 日本欧美一区二区三区| 国产精品卡一卡二| 欧美一级国产精品| 色哟哟精品一区| 美女精品一区二区| 亚洲精品国产第一综合99久久| 欧美一区二区三区四区五区| 91蝌蚪porny九色| 国产精品一区二区在线看| 亚洲国产cao| 亚洲国产精品成人综合| www成人在线观看| 久久久噜噜噜久噜久久综合| 不卡影院免费观看| 国产传媒日韩欧美成人| 美女高潮久久久| 午夜成人免费视频| 亚洲九九爱视频| 日本一区二区视频在线观看| 日韩欧美视频在线| 欧美日韩aaa| 欧美人与禽zozo性伦| 色综合一个色综合| 色屁屁一区二区| 色偷偷88欧美精品久久久| 成人小视频在线| 成人丝袜视频网| av在线综合网| 91视视频在线观看入口直接观看www| 成人高清av在线| 99久久综合色| 欧美亚洲免费在线一区| 欧美性xxxxxx少妇| 日韩一级高清毛片| 欧美大片在线观看| 久久这里只有精品首页| 国产欧美综合在线| 一区二区三区波多野结衣在线观看 | 亚洲乱码国产乱码精品精的特点 | 韩国一区二区视频| 国产精品一区二区黑丝| 99国产精品久久久久久久久久| 国产一区三区三区| 国产成人在线视频播放| 91国产福利在线| 精品国产乱子伦一区| 中文字幕欧美日本乱码一线二线| 亚洲免费毛片网站| 麻豆视频观看网址久久| 成人黄色大片在线观看| 欧美精品日韩精品| 国产日韩高清在线| 日本欧美一区二区在线观看| 国产成人亚洲精品青草天美| 欧美日韩五月天| 国产精品视频免费看| 久久精品国产99| 色国产精品一区在线观看| 久久一区二区三区国产精品| 自拍偷自拍亚洲精品播放| 视频一区免费在线观看| 91蜜桃传媒精品久久久一区二区| 欧美成人官网二区| 日韩av电影天堂| 在线观看中文字幕不卡| 亚洲欧洲日韩av| 国内成+人亚洲+欧美+综合在线| 欧美吞精做爰啪啪高潮| 中文字幕欧美一| va亚洲va日韩不卡在线观看| 久久久久国产精品麻豆 | 极品尤物av久久免费看| 欧美久久高跟鞋激| 亚洲成av人**亚洲成av**| 成人爽a毛片一区二区免费| 国产午夜精品一区二区三区嫩草| 日本伊人色综合网| 欧美剧在线免费观看网站| 一区二区免费看| 欧美日韩在线播放| 三级欧美在线一区| 日韩一二三区视频| 国产自产v一区二区三区c| 精品国产精品一区二区夜夜嗨| 激情成人午夜视频| 中文字幕精品三区| 91一区二区三区在线观看| 一区二区三区鲁丝不卡| 欧美久久久久中文字幕| 日本成人中文字幕在线视频 | 国产aⅴ综合色| 亚洲精品成人天堂一二三| 欧美日免费三级在线| 麻豆精品一二三| 国产精品蜜臀在线观看| 欧美色老头old∨ideo| 免费在线欧美视频| 国产精品久久久久影院老司| 色综合天天综合在线视频| 丝袜亚洲另类欧美综合| 欧美激情一区二区在线| 欧美视频一区二区三区| 国产一区91精品张津瑜| 亚洲国产日韩精品| 欧美国产成人精品| 欧美一区二区三区色| 色综合婷婷久久| 福利一区福利二区| 蜜臀av一区二区| 亚洲国产精品麻豆|