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

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

?? board_lowlevel.c

?? Dataflash example for ARM9 using KEIL.
?? C
字號:
/* ----------------------------------------------------------------------------
 *         ATMEL Microcontroller Software Support 
 * ----------------------------------------------------------------------------
 * Copyright (c) 2008, Atmel Corporation
 *
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * - Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the disclaimer below.
 *
 * Atmel's name may not be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * ----------------------------------------------------------------------------
 */

//------------------------------------------------------------------------------
//         Headers
//------------------------------------------------------------------------------

#include "board.h"
#include "board_memories.h"
#include <pmc/pmc.h>

//------------------------------------------------------------------------------
//         Local definitions
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// \page "SAM9XE - Oscillator & PLL Parameters"
/// This page lists the parameters which are set for the PLL and main
/// oscillator configuration.
///
/// !Parameters
/// - BOARD_OSCOUNT
/// - BOARD_CKGR_PLLA
/// - BOARD_PLLACOUNT
/// - BOARD_MULA
/// - BOARD_DIVA
/// - BOARD_CKGR_PLLB
/// - BOARD_PLLBCOUNT
/// - BOARD_MULB
/// - BOARD_DIVB
/// - BOARD_USBDIV
/// - BOARD_PRESCALER

/// Main oscillator startup time (in number of slow clock ticks). 
#define BOARD_OSCOUNT           (AT91C_CKGR_OSCOUNT & (64 << 8))

/// PLLA frequency range.
#define BOARD_CKGR_PLLA         (AT91C_CKGR_SRCA | AT91C_CKGR_OUTA_2)
/// PLLA startup time (in number of slow clock ticks).
#define BOARD_PLLACOUNT         (63 << 8)
/// PLLA MUL value.
#define BOARD_MULA              (AT91C_CKGR_MULA & (96 << 16))
/// PLLA DIV value.
#define BOARD_DIVA              (AT91C_CKGR_DIVA & 9)

/// PLLB frequency range
#define BOARD_CKGR_PLLB         AT91C_CKGR_OUTB_1
/// PLLB startup time (in number of slow clock ticks).
#define BOARD_PLLBCOUNT         BOARD_PLLACOUNT
/// PLLB MUL value.
#define BOARD_MULB              (124 << 16)
/// PLLB DIV value.
#define BOARD_DIVB              12

/// USB PLL divisor value to obtain a 48MHz clock.
#define BOARD_USBDIV            AT91C_CKGR_USBDIV_2
/// Master clock prescaler value.
#define BOARD_PRESCALER         AT91C_PMC_MDIV_2
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
//         Local functions
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// Default spurious interrupt handler
//------------------------------------------------------------------------------
void DefaultSpuriousHandler(void)
{
    while (1);
}

//------------------------------------------------------------------------------
/// Default handler for fast interrupt requests.
//------------------------------------------------------------------------------
void DefaultFiqHandler(void)
{
    while (1);
}

//------------------------------------------------------------------------------
/// Default handler for standard interrupt requests.
//------------------------------------------------------------------------------
void DefaultIrqHandler(void)
{
    while (1);
}

//------------------------------------------------------------------------------
//         Global functions
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// Performs the low-level initialization of the chip.
//------------------------------------------------------------------------------
void LowLevelInit(void)
{
    unsigned char i;

    // Set flash wait states
    //----------------------
    AT91C_BASE_EFC->EFC_FMR = 6 << 8;

#if !defined(sdram)
    // Initialize main oscillator
    //---------------------------
    AT91C_BASE_PMC->PMC_MOR = BOARD_OSCOUNT | AT91C_CKGR_MOSCEN;
    while (!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS));

    // Initialize PLLA at 200MHz (198.656)
    AT91C_BASE_PMC->PMC_PLLAR = BOARD_CKGR_PLLA
                                | BOARD_PLLACOUNT
                                | BOARD_MULA
                                | BOARD_DIVA;
    while (!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_LOCKA));

    // Initialize PLLB for USB usage (if not already locked)
    if (!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_LOCKB)) {
        AT91C_BASE_PMC->PMC_PLLBR = BOARD_USBDIV
                                    | BOARD_CKGR_PLLB
                                    | BOARD_PLLBCOUNT
                                    | BOARD_MULB
                                    | BOARD_DIVB;
        while (!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_LOCKB));
    }

    // Wait for the master clock if it was already initialized
    while (!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));

    // Switch to fast clock
    //---------------------
    // Switch to main oscillator + prescaler
    AT91C_BASE_PMC->PMC_MCKR = BOARD_PRESCALER;
    while (!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));

    // Switch to PLL + prescaler
    AT91C_BASE_PMC->PMC_MCKR |= AT91C_PMC_CSS_PLLA_CLK;
    while (!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));
#endif //#if !defined(sdram)

    // Initialize AIC
    //---------------
    AT91C_BASE_AIC->AIC_IDCR = 0xFFFFFFFF;
    AT91C_BASE_AIC->AIC_SVR[0] = (unsigned int) DefaultFiqHandler;
    for (i = 1; i < 31; i++) {

        AT91C_BASE_AIC->AIC_SVR[i] = (unsigned int) DefaultIrqHandler;
    }
    AT91C_BASE_AIC->AIC_SPU = (unsigned int) DefaultSpuriousHandler;

    // Unstack nested interrupts
    for (i = 0; i < 8 ; i++) {

        AT91C_BASE_AIC->AIC_EOICR = 0;
    }

    // Watchdog initialization
    //------------------------
    AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS;

    // Remap
    //------
    BOARD_RemapRam();

    // Disable RTT and PIT interrupts (potential problem when program A
    // configures RTT, then program B wants to use PIT only, interrupts
    // from the RTT will still occur since they both use AT91C_ID_SYS)
    AT91C_BASE_RTTC->RTTC_RTMR &= ~(AT91C_RTTC_ALMIEN | AT91C_RTTC_RTTINCIEN);
    AT91C_BASE_PITC->PITC_PIMR &= ~AT91C_PITC_PITIEN;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久丝袜美腿综合| 免费人成精品欧美精品| 日本午夜精品视频在线观看 | 欧美一区二区三级| 国产女人18水真多18精品一级做| 亚洲成a天堂v人片| 91尤物视频在线观看| 精品国产污污免费网站入口| 亚洲国产另类精品专区| 91免费看片在线观看| 国产欧美日韩不卡免费| 精品在线亚洲视频| 在线不卡一区二区| 亚洲午夜日本在线观看| 色噜噜久久综合| 欧美韩日一区二区三区| 国产美女精品人人做人人爽 | 国产精品欧美精品| 久久99热国产| 日韩一级完整毛片| 美日韩一级片在线观看| 欧美一级高清片| 免费亚洲电影在线| 91精品国产综合久久国产大片| 亚洲欧美日韩一区| 色香色香欲天天天影视综合网| 国产精品青草久久| av一区二区三区在线| 亚洲欧美在线另类| 欧美一级专区免费大片| 日韩电影在线一区二区三区| 欧美日韩激情一区二区| 日本成人在线电影网| 91精品国产麻豆国产自产在线| 天天做天天摸天天爽国产一区| 欧美美女喷水视频| 日韩国产一区二| 欧美成人精品高清在线播放| 国产一区999| 亚洲成人精品影院| 8x8x8国产精品| 久久99精品久久久久久动态图| 精品日韩99亚洲| 精品一区二区三区在线观看| 久久九九99视频| av一区二区三区在线| 亚洲国产精品一区二区久久恐怖片 | 欧美精品123区| 紧缚捆绑精品一区二区| 国产精品每日更新| 在线视频中文字幕一区二区| 日韩精品免费专区| 国产视频一区二区在线观看| 色综合久久天天| 日韩—二三区免费观看av| 久久综合久久综合久久综合| 91丨porny丨户外露出| 日韩av电影免费观看高清完整版在线观看 | 国产精品国产三级国产aⅴ入口| 91麻豆免费看| 久久成人综合网| 亚洲视频狠狠干| 欧美成人精品1314www| 91亚洲国产成人精品一区二区三| 亚洲一区中文日韩| 久久精品人人做人人爽人人| 欧洲av在线精品| 国产一区二区福利| 亚洲成人av一区二区| 国产偷国产偷亚洲高清人白洁| 欧美影院一区二区三区| 国产一区在线看| 婷婷一区二区三区| 国产精品电影一区二区三区| 欧美日韩国产系列| 9i看片成人免费高清| 久久99九九99精品| 一区二区三区欧美久久| 国产欧美日韩综合精品一区二区| 欧美麻豆精品久久久久久| 99精品视频一区二区三区| 久久99久久99精品免视看婷婷 | 亚洲色图视频网| 日韩免费高清视频| 欧美日韩在线免费视频| 成人黄色电影在线| 韩国成人在线视频| 日本午夜精品视频在线观看| 亚洲欧美欧美一区二区三区| 久久亚洲综合av| 日韩欧美在线综合网| 欧美日韩激情一区二区三区| 日本精品一级二级| 99久久精品费精品国产一区二区| 国产精品一区二区免费不卡| 美女视频一区二区| 天天av天天翘天天综合网| 亚洲免费伊人电影| 亚洲乱码中文字幕| 亚洲男人的天堂在线aⅴ视频| 国产精品久久影院| 日本一区二区三级电影在线观看 | 久久综合一区二区| 欧美一级搡bbbb搡bbbb| 欧美日韩国产在线播放网站| 在线欧美日韩国产| 欧美性一级生活| 欧美日韩亚洲国产综合| 欧美在线不卡一区| 欧美偷拍一区二区| 欧美日韩国产三级| 91精品国产综合久久香蕉的特点 | 国产成人精品影视| 国产高清精品在线| jiyouzz国产精品久久| 欧美在线观看视频一区二区| 欧美羞羞免费网站| 欧美男男青年gay1069videost| 欧美日韩久久一区| 日韩欧美久久久| 国产亚洲精品7777| 中文字幕视频一区| 亚洲综合视频网| 午夜精品久久久久久久久| 欧美96一区二区免费视频| 精品无码三级在线观看视频| 国产99一区视频免费| 91丝袜国产在线播放| 欧美日韩成人综合| 26uuu久久综合| 国产精品久久久久毛片软件| 一区二区高清免费观看影视大全| 亚洲一级二级在线| 开心九九激情九九欧美日韩精美视频电影| 秋霞成人午夜伦在线观看| 国产伦精品一区二区三区视频青涩 | 97久久人人超碰| 欧美日韩亚洲另类| www日韩大片| 亚洲三级在线播放| 日韩精品乱码免费| 国产激情一区二区三区四区| 一本到三区不卡视频| 91精品欧美综合在线观看最新 | 成人晚上爱看视频| 日本二三区不卡| 精品国产一区二区三区久久久蜜月| 国产亚洲欧美激情| 亚洲成人av免费| 处破女av一区二区| 91麻豆精品国产自产在线| 国产欧美日韩另类一区| 亚洲国产精品欧美一二99| 国产一区二区福利| 欧美日韩成人在线| 国产精品毛片高清在线完整版| 天天综合天天做天天综合| 成人激情免费视频| 欧美一区在线视频| 专区另类欧美日韩| 蜜桃传媒麻豆第一区在线观看| www.欧美亚洲| 欧美xxxxx裸体时装秀| 一区二区三区不卡在线观看| 精品亚洲国内自在自线福利| 欧美亚洲日本国产| 国产精品国产精品国产专区不片| 美腿丝袜亚洲三区| 欧美日韩高清一区二区三区| 国产精品人人做人人爽人人添 | av午夜一区麻豆| 久久蜜桃av一区二区天堂| 奇米精品一区二区三区在线观看一| 99视频超级精品| 国产色婷婷亚洲99精品小说| 美女视频一区二区| 在线电影一区二区三区| 亚洲一区二区三区四区五区中文 | 日韩一区二区三| 亚洲一区影音先锋| 色综合久久久网| 中文子幕无线码一区tr| 国产一区视频在线看| 日韩欧美国产一区二区三区| 五月开心婷婷久久| 欧美日韩一区国产| 亚洲国产日韩一区二区| 91久久香蕉国产日韩欧美9色| 国产精品久久久久桃色tv| 成人午夜在线视频| 国产精品乱码久久久久久| 国产精品资源网| 亚洲国产精品ⅴa在线观看| 国产精品一区二区视频| 久久久久久日产精品| 国产一区二区看久久| 久久久久亚洲综合| 国产精品影视天天线| 久久久久99精品国产片| 成人国产精品免费观看视频|