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

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

?? bsp.c

?? KEIL平臺下,LPC23XX官方的UCOSii的移植文件,包含各種功能的測試程序.
?? C
?? 第 1 頁 / 共 4 頁
字號:
/*
*********************************************************************************************************
*                                     MICRIUM BOARD SUPPORT SUPPORT
*
*                             (c) Copyright 2006; Micrium, Inc.; Weston, FL
*
*               All rights reserved.  Protected by international copyright laws.
*               Knowledge of the source code may NOT be used to develop a similar product.
*               Please help us continue to provide the Embedded community with the finest
*               software available.  Your honesty is greatly appreciated.
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*
*                                        BOARD SUPPORT PACKAGE
*
*                                             NXP LPC2378
*                                                on the
*                                      Keil MCB2300 Evaluation Board
*
* Filename      : bsp.c
* Version       : V1.00
* Programmer(s) : EFS
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                             INCLUDE FILES
*********************************************************************************************************
*/

#define  BSP_GLOBALS
#include <includes.h>


/*
*********************************************************************************************************
*                                            LOCAL DEFINES
*********************************************************************************************************
*/

#define  HW_REV_0                                   0			/* LCD E bit is pin 30 for early MCB2300 revisions          */
                                                               	/* For later hardware revisions, define to 0, pin 31.       */

                                                                /* ---------------------- GPIO0 Pins ---------------------- */
#define  GPIO0_CAN_RX1                        DEF_BIT_00
#define  GPIO0_CAN_TX1                        DEF_BIT_01
#define  GPIO0_TXD0                           DEF_BIT_02
#define  GPIO0_RXD0                           DEF_BIT_03
#define  GPIO0_CAN_RX2                        DEF_BIT_04
#define  GPIO0_CAN_TX2                        DEF_BIT_05
#define  GPIO0_TXD1                           DEF_BIT_15
#define  GPIO0_RXD1                           DEF_BIT_16
#define  GPIO0_MCICLK                         DEF_BIT_19
#define  GPIO0_MCICMD                         DEF_BIT_20
#define  GPIO0_MCIDAT0                        DEF_BIT_22
#define  GPIO0_POT                            DEF_BIT_23
#define  GPIO0_SPEAKER                        DEF_BIT_26

                                                                /* ---------------------- GPIO1 Pins ---------------------- */
#define  GPIO1_E_TXD0                         DEF_BIT_00
#define  GPIO1_E_TXD1                         DEF_BIT_01
#define  GPIO1_E_TX_EN                        DEF_BIT_04
#define  GPIO1_E_CRS0                         DEF_BIT_08
#define  GPIO1_E_RXD0                         DEF_BIT_09
#define  GPIO1_E_RXD1                         DEF_BIT_10
#define  GPIO1_E_RX_ER                        DEF_BIT_14
#define  GPIO1_E_RX_CLK                       DEF_BIT_15
#define  GPIO1_E_MDC                          DEF_BIT_16
#define  GPIO1_E_MDIO                         DEF_BIT_17
#define  GPIO1_LCD_DB4                        DEF_BIT_24
#define  GPIO1_LCD_DB5                        DEF_BIT_25
#define  GPIO1_LCD_DB6                        DEF_BIT_26
#define  GPIO1_LCD_DB7                        DEF_BIT_27
#define  GPIO1_LCD_RS                         DEF_BIT_28
#define  GPIO1_LCD_RW                         DEF_BIT_29
#if HW_REV_0
#define  GPIO1_LCD_E                          DEF_BIT_30
#else
#define  GPIO1_LCD_E                          DEF_BIT_31
#endif

                                                                /* ---------------------- GPIO2 Pins ---------------------- */
#define  GPIO2_LED0                           DEF_BIT_00
#define  GPIO2_LED1                           DEF_BIT_01
#define  GPIO2_LED2                           DEF_BIT_02
#define  GPIO2_LED3                           DEF_BIT_03
#define  GPIO2_LED4                           DEF_BIT_04
#define  GPIO2_LED5                           DEF_BIT_05
#define  GPIO2_LED6                           DEF_BIT_06
#define  GPIO2_LED7                           DEF_BIT_07
#define  GPIO2_PB1                            DEF_BIT_10
#define  GPIO2_MCIDAT1                        DEF_BIT_11
#define  GPIO2_MCIDAT2                        DEF_BIT_12
#define  GPIO2_MCIDAT3                        DEF_BIT_13

/*
*********************************************************************************************************
*                                           LOCAL CONSTANTS
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                          LOCAL DATA TYPES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                            LOCAL TABLES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                       LOCAL GLOBAL VARIABLES
*********************************************************************************************************
*/

        CPU_INT32U  VIC_SpuriousInt;


/*
*********************************************************************************************************
*                                      LOCAL FUNCTION PROTOTYPES
*********************************************************************************************************
*/

static  void  PLL_Init         (void);
static  void  MAM_Init         (void);
static  void  GPIO_Init        (void);
static  void  VIC_Init         (void);
static  void  ADC_Init         (void);
static  void  LED_Init         (void);

#ifdef DISP_MODULE_PRESENT
static  void  DispE_High       (void);
static  void  DispE_Low        (void);
static  void  DispRW_High      (void);
static  void  DispRW_Low       (void);
#endif

static  void  Tmr_TickInit     (void);

static  void  VIC_Dummy        (void);                         /* Prototypes for dummy interrupt handlers                  */
static  void  VIC_DummyWDT     (void);
static  void  VIC_DummySW      (void);
static  void  VIC_DummyDEBUGRX (void);
static  void  VIC_DummyDEBUGTX (void);
static  void  VIC_DummyTIMER0  (void);
static  void  VIC_DummyTIMER1  (void);
static  void  VIC_DummyUART0   (void);
static  void  VIC_DummyUART1   (void);
static  void  VIC_DummyPWM01   (void);
static  void  VIC_DummyI2C0    (void);
static  void  VIC_DummySPI     (void);
static  void  VIC_DummySSP1    (void);
static  void  VIC_DummyPLL     (void);
static  void  VIC_DummyRTC     (void);
static  void  VIC_DummyEINT0   (void);
static  void  VIC_DummyEINT1   (void);
static  void  VIC_DummyEINT2   (void);
static  void  VIC_DummyEINT3   (void);
static  void  VIC_DummyAD0     (void);
static  void  VIC_DummyI2C1    (void);
static  void  VIC_DummyBOD     (void);
static  void  VIC_DummyETHERNET(void);
static  void  VIC_DummyUSB     (void);
static  void  VIC_DummyCAN01   (void);
static  void  VIC_DummyMMC     (void);
static  void  VIC_DummyGP_DMA  (void);
static  void  VIC_DummyTIMER2  (void);
static  void  VIC_DummyTIMER3  (void);
static  void  VIC_DummyUART2   (void);
static  void  VIC_DummyUART3   (void);
static  void  VIC_DummyI2C2    (void);
static  void  VIC_DummyI2S     (void);


/*
*********************************************************************************************************
*                                     LOCAL CONFIGURATION ERRORS
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*********************************************************************************************************
**                                         GLOBAL FUNCTIONS
*********************************************************************************************************
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                             BSP_Init()
*
* Description : Initialize the Board Support Package (BSP).
*
* Argument(s) : none.
*
* Return(s)   : none.
*
* Note(s)     : (1) This function SHOULD be called before any other BSP function is called.
*********************************************************************************************************
*/

void  BSP_Init (void)
{
    PLL_Init();                                    	            /* Initialize the PLL                                       */
    MAM_Init();                                               	/* Initialize the Memory Acceleration Module                */
    GPIO_Init();                                             	/* Initialize the board's I/Os                              */
    ADC_Init();                                                 /* Initialize the board's ADC                               */
    VIC_Init();                                         	    /* Initialize the Vectored Interrupt Controller             */
    LED_Init();                                                	/* Initialize the I/Os for the LED controls                 */

    Tmr_TickInit();                                         	/* Initialize the uC/OS-II tick interrupt                   */
}


/*
*********************************************************************************************************
*                                            BSP_CPU_ClkFreq()
*
* Description : Get the CPU clock frequency.
*
* Argument(s) : none.
*
* Return(s)   : The CPU clock frequency, in Hz.
*********************************************************************************************************
*/

CPU_INT32U  BSP_CPU_ClkFreq (void)
{
    CPU_INT32U  msel;
    CPU_INT32U  nsel;
    CPU_INT32U  fin;
    CPU_INT32U  pll_clk_feq;                                    /* When the PLL is enabled, this is Fcco                    */
    CPU_INT32U  clk_div;
    CPU_INT32U  clk_freq;


    switch (CLKSRCSEL & 0x03) {                                 /* Determine the current clock source                       */
        case 0:
             fin = IRC_OSC_FRQ;
             break;

        case 1:
             fin = MAIN_OSC_FRQ;
             break;

        case 2:
             fin = RTC_OSC_FRQ;
             break;

        default:
             fin = IRC_OSC_FRQ;
             break;
    }

    if ((PLLSTAT & (1 << 25)) > 0) {                                /* If the PLL is currently enabled and connected        */
        msel        = (CPU_INT32U)(PLLSTAT & 0x3FFF) + 1;           /* Obtain the PLL multiplier                            */
        nsel        = (CPU_INT32U)((PLLSTAT >>   16) & 0x0F) + 1;   /* Obtain the PLL divider                               */
        pll_clk_feq = (2 * msel * (fin / nsel));                    /* Compute the PLL output frequency                     */
    } else {
        pll_clk_feq = (fin);                                        /* The PLL is bypassed                                  */
    }

    clk_div         = (CPU_INT32U)(CCLKCFG & 0xFF) + 1;             /* Obtain the CPU core clock divider                    */
    clk_freq        = (CPU_INT32U)(pll_clk_feq / clk_div);          /* Compute the ARM Core clock frequency                 */

    return (clk_freq);
}

/*
*********************************************************************************************************
*                                            BSP_CPU_PclkFreq()
*
* Description : Get the peripheral clock frequency for a specific peripheral.
*
* Argument(s) : pclk        The peripheral clock ID, one of PCLK_??? defined in bsp.h.
*
* Return(s)   : The peripheral's clock in Hz
*********************************************************************************************************
*/


CPU_INT32U  BSP_CPU_PclkFreq (CPU_INT08U  pclk)
{
    CPU_INT32U  clk_freq;
    CPU_INT32U  selection;


    clk_freq = BSP_CPU_ClkFreq();

    switch (pclk) {
        case PCLK_WDT:
        case PCLK_TIMER0:
        case PCLK_TIMER1:
        case PCLK_UART0:
        case PCLK_UART1:
        case PCLK_PWM0:
        case PCLK_PWM1:
        case PCLK_I2C0:
        case PCLK_SPI:
        case PCLK_RTC:
        case PCLK_SSP1:
        case PCLK_DAC:
        case PCLK_ADC:
        case PCLK_CAN1:
        case PCLK_CAN2:
        case PCLK_ACF:
             selection = ((PCLKSEL0 >> (pclk * 2)) & 0x03);
             if (selection == 0) {
                 return (clk_freq / 4);
             } else if (selection == 1) {
                 return (clk_freq);
             } else if (selection == 2) {
                 return (clk_freq / 2);
             } else {
                 return (clk_freq / 8);
             }

        case PCLK_BAT_RAM:
        case PCLK_GPIO:
        case PCLK_PCB:
        case PCLK_I2C1:
        case PCLK_SSP0:
        case PCLK_TIMER2:
        case PCLK_TIMER3:
        case PCLK_UART2:
        case PCLK_UART3:
        case PCLK_I2C2:
        case PCLK_MCI:
        case PCLK_SYSCON:
             selection = ((PCLKSEL1 >> ((pclk - 16) * 2)) & 0x03);
             if (selection == 0) {
                 return (clk_freq / 4);
             } else if (selection == 1) {
                 return (clk_freq);
             } else if (selection == 2) {
                 return (clk_freq / 2);
             } else {
                 return (clk_freq / 8);
             }

        default:
             return (0);
    }
}


/*
*********************************************************************************************************
*                                          OS_CPU_ExceptHndlr()
*
* Description : Handle any exceptions.
*
* Argument(s) : except_id     ARM exception type:
*
*                                  OS_CPU_ARM_EXCEPT_RESET             0x00
*                                  OS_CPU_ARM_EXCEPT_UNDEF_INSTR       0x01
*                                  OS_CPU_ARM_EXCEPT_SWI               0x02
*                                  OS_CPU_ARM_EXCEPT_PREFETCH_ABORT    0x03
*                                  OS_CPU_ARM_EXCEPT_DATA_ABORT        0x04
*                                  OS_CPU_ARM_EXCEPT_ADDR_ABORT        0x05
*                                  OS_CPU_ARM_EXCEPT_IRQ               0x06
*                                  OS_CPU_ARM_EXCEPT_FIQ               0x07
*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美群妇大交群的观看方式| 精品国产乱子伦一区| 欧美日韩mp4| 国产夜色精品一区二区av| 亚洲永久精品国产| 国产精品99久久不卡二区| 日本韩国一区二区| 国产精品丝袜91| 精品夜夜嗨av一区二区三区| 欧美性猛交xxxxxx富婆| 国产女主播一区| 久久国产精品第一页| 6080国产精品一区二区| 亚洲天天做日日做天天谢日日欢| 久久9热精品视频| 欧美精品九九99久久| 精品1区2区在线观看| 国产精品家庭影院| 国产精品黄色在线观看| 伊人性伊人情综合网| 国产超碰在线一区| 日韩欧美国产一区二区三区| 亚洲国产一区在线观看| 色婷婷综合五月| 国产精品久久久久久久岛一牛影视| 精品夜夜嗨av一区二区三区| 日韩欧美黄色影院| 免费日韩伦理电影| 欧美成人三级电影在线| 老司机精品视频在线| 欧美一区二区三区喷汁尤物| 三级在线观看一区二区| 91麻豆精品91久久久久同性| 亚洲国产精品久久久久婷婷884| 欧洲一区在线观看| 亚洲午夜视频在线观看| 欧美日韩高清一区二区| 日韩国产在线观看一区| 欧美福利一区二区| 奇米亚洲午夜久久精品| 精品久久久久久久久久久院品网| 久久99在线观看| 久久九九久久九九| 成人a级免费电影| 国产精品国产三级国产aⅴ入口 | 奇米色一区二区| 69精品人人人人| 久久精品国产精品亚洲红杏| 精品国产污污免费网站入口 | 精品国产91亚洲一区二区三区婷婷| 丝袜美腿亚洲综合| 亚洲精品在线观| 成人午夜av影视| 亚洲精品v日韩精品| 欧美老年两性高潮| 国模大尺度一区二区三区| 日本一区二区三区高清不卡| av一区二区三区| 亚洲一区二区精品视频| 日韩免费福利电影在线观看| 国产一区二区三区黄视频 | 精品久久久久一区二区国产| 国产成人精品一区二| 日韩一区欧美小说| 欧美一区三区二区| 国产98色在线|日韩| 亚洲激情图片一区| 欧美大片在线观看一区二区| www.日本不卡| 男男视频亚洲欧美| 亚洲欧美国产毛片在线| 精品欧美久久久| 色诱视频网站一区| 久久99国产精品麻豆| 亚洲欧美日本在线| 欧美精品一区二区三区视频| 成人av电影免费观看| 青青草国产精品97视觉盛宴| 国产精品黄色在线观看| 日韩免费看的电影| 色播五月激情综合网| 国内精品写真在线观看| 午夜视频久久久久久| 国产日韩欧美在线一区| 欧美精品粉嫩高潮一区二区| 99精品欧美一区二区三区综合在线| 污片在线观看一区二区| 亚洲天堂福利av| 久久人人97超碰com| 777a∨成人精品桃花网| 99精品久久99久久久久| 国产高清在线观看免费不卡| 日本成人在线视频网站| 亚洲免费在线看| 国产精品色呦呦| 2014亚洲片线观看视频免费| 日韩一区二区高清| 欧美日本国产视频| 欧美性猛交一区二区三区精品| 不卡在线视频中文字幕| 国产一区二区精品久久99| 日韩av一级电影| 日韩一区精品视频| 亚洲国产精品久久人人爱蜜臀| 亚洲精选视频在线| 1区2区3区精品视频| 国产无遮挡一区二区三区毛片日本| 91精品国产综合久久久久久| 精品视频一区二区不卡| 欧美综合在线视频| 欧美在线不卡视频| 色呦呦国产精品| 91国产成人在线| 在线免费亚洲电影| 欧美视频一区二区三区| 欧洲一区二区三区免费视频| 在线观看日韩国产| 色偷偷一区二区三区| 色婷婷av一区| 欧美手机在线视频| 欧美日韩视频在线第一区| 欧美三级资源在线| 欧美日韩视频在线第一区 | 国产精品久久久久永久免费观看| 国产欧美一区二区在线| 欧美高清在线一区| 亚洲欧洲综合另类| 日韩精品欧美成人高清一区二区| 国产精品一区二区免费不卡| 国产精品亚洲一区二区三区妖精| 精品亚洲成a人| 国产精品91xxx| 94色蜜桃网一区二区三区| 一本久久a久久免费精品不卡| 色网站国产精品| 欧美一级理论性理论a| 26uuu久久天堂性欧美| 国产婷婷色一区二区三区| 亚洲欧美一区二区久久| 亚洲v日本v欧美v久久精品| 蜜桃视频免费观看一区| 国产高清成人在线| 欧美在线免费观看亚洲| 91精品国产aⅴ一区二区| 精品国产91洋老外米糕| 亚洲色欲色欲www在线观看| 午夜久久福利影院| 国产又黄又大久久| 色久综合一二码| 制服丝袜成人动漫| 日本一区二区成人| 午夜视频在线观看一区二区| 国产尤物一区二区在线| 日本国产一区二区| wwwwww.欧美系列| 亚洲成a人片综合在线| 国产一区二区三区四区五区美女 | 欧美精品粉嫩高潮一区二区| 日韩小视频在线观看专区| 成人18精品视频| 欧美伊人精品成人久久综合97 | 日本中文一区二区三区| 久久久影院官网| 国产亚洲精品aa午夜观看| 欧美国产精品一区二区三区| 国产欧美一区二区精品秋霞影院| 久久精品视频在线看| 国产喷白浆一区二区三区| 中文字幕亚洲一区二区va在线| 亚洲欧洲一区二区三区| 亚洲自拍偷拍av| 日日夜夜精品免费视频| 国产在线国偷精品免费看| 国产a区久久久| 色就色 综合激情| 777午夜精品视频在线播放| 精品日韩一区二区三区| 国产精品久久福利| 亚洲.国产.中文慕字在线| 免费高清视频精品| 成人一区二区三区中文字幕| 色狠狠一区二区| www国产精品av| 亚洲一区二区五区| 久久av资源网| 91黄色激情网站| 欧美mv日韩mv亚洲| 日韩毛片一二三区| 日韩精品免费视频人成| 99麻豆久久久国产精品免费| 欧美一区二区黄色| 亚洲欧美自拍偷拍| 日韩电影在线一区二区| 波多野结衣精品在线| 91精品国产色综合久久ai换脸 | 国产农村妇女毛片精品久久麻豆| 亚洲欧美日韩在线| 国产成人在线电影| 91精品在线免费观看| ㊣最新国产の精品bt伙计久久|