davincievm_flash.c

来自「TI的DM6446的硬件平台搭建的相关例子」· C语言 代码 · 共 55 行

C
55
字号
/*
 *  Copyright 2005 by Spectrum Digital Incorporated.
 *  All rights reserved. Property of Spectrum Digital Incorporated.
 *
 *  Not for distribution.
 */

/*
 *  Flash implementation - Init
 *
 */

#include "davincievm_flash.h"

/* ------------------------------------------------------------------------ *
 *                                                                          *
 *  DAVINCIEVM_FLASH_init( )                                                *
 *                                                                          *
 *                                                                          *
 *                                                                          *
 * ------------------------------------------------------------------------ */
Int16 DAVINCIEVM_FLASH_init( )
{
    Uint32 acfg2;

    /*------------------------------------------------------------------*
     *  NOR FLASH CHIP TIMEOUT @ 594 MHz                                *
     *                                                                  *
     *  AEMIF.CLK freq   = PLL1/6 = 594/6 = 99 MHz                      *
     *  AEMIF.CLK period = 1/99 MHz = 10.1 ns                           *
     *                                                                  *
     *------------------------------------------------------------------*/
    acfg2 = 0
        | ( 0 << 31 )           // selectStrobe
        | ( 0 << 30 )           // extWait
        | ( 0 << 26 )           // writeSetup      //   0 ns
        | ( 4 << 20 )           // writeStrobe     //  35 ns
        | ( 0 << 17 )           // writeHold       //   0 ns
        | ( 4 << 13 )           // readSetup       //  30 ns
        | ( 12 << 7 )           // readStrobe      // 120 ns
        | ( 0 << 4 )            // readHold        //   0 ns
        | ( 1 << 2 )            // turnAround      //  10 ns
        | ( 1 << 0 )            // asyncSize       // 16-bit bus
        ;

    DAVINCIEVM_EMIF_config( acfg2,
                            AEMIF_MAX_TIMEOUT_16BIT,
                            AEMIF_MAX_TIMEOUT_16BIT,
                            AEMIF_MAX_TIMEOUT_16BIT );

    AEMIF_NANDFCR = 0x00000000;

    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?