⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 emif.c

📁 这是TI的C6713开发板例程
💻 C
字号:
/*H*****************************************************************************
*
* $Archive::                                                                   $
* $Revision::                                                                  $
* $Date::                                                                      $
* $Author::                                                                    $
*
* DESCRIPTION:  TMS320C64xx TEB emif code 
*
* GLOBALS 
*
* PUBLIC FUNCTIONS:
*                              
* PRIVATE FUNCTIONS:
*
* USAGE/LIMITATIONS:
*
* NOTES: Assumptions:
*             TMS320C64x TEB
*             CPLD connected to EMIF B, TBCE0
*             AMD29LV400BT flash connected to EMIF B, TBCE1
*             SDRAM connected to EMIF A, TACE0
*
* COMPILE SWITCHES:

*H***************************************************************************/
#define emif_c

/*---- compilation control switches ----------------------------------------*/

/*****************************************************************************
* INCLUDE FILES
*****************************************************************************/
/*---- system and platform files -------------------------------------------*/
#include <stdlib.h>
#include <stdio.h>
#include <c6x.h>
/*---- program files -------------------------------------------------------*/

#include "c6713dsk.h"
#include "emif.h"
#include "csl_emif.h"

/*****************************************************************************
* EXTERNAL REFERENCE    
*****************************************************************************/
/*---- data declarations ---------------------------------------------------*/

/*---- function prototypes -------------------------------------------------*/

/*****************************************************************************
* PUBLIC DECLARATIONS 
*****************************************************************************/

/*---- data declarations ---------------------------------------------------*/

/*****************************************************************************
* PRIVATE DECLARATIONS  
*****************************************************************************/
/*---- context -------------------------------------------------------------*/

/*---- data declarations ---------------------------------------------------*/
	
/*---- function prototypes -------------------------------------------------*/

/*---- macros --------------------------------------------------------------*/

/*****************************************************************************
* PUBLIC FUNCTION DEFINITIONS
*****************************************************************************/
/*F***************************************************************************
* NAME:   EMIF_Init()
*
* DESCRIPTION: Setup the DSK EMIF A and B.       
*       
* NOTES:
*   
*F***************************************************************************/

void EMIF_Init( void )
{
    EMIF_Config emifCfg0 = {
        0x60                                  |
        EMIF_FMKS(GBLCTL, NOHOLD, DISABLE)    |
        EMIF_FMKS(GBLCTL, CLK1EN, ENABLE)     |
        EMIF_FMKS(GBLCTL, CLK2EN, ENABLE),

        EMIF_FMKS(CECTL, WRSETUP, DEFAULT)    |
        EMIF_FMKS(CECTL, WRSTRB, DEFAULT)     |
        EMIF_FMKS(CECTL, WRHLD, DEFAULT)      |
        EMIF_FMKS(CECTL, RDSETUP, DEFAULT)    |
        EMIF_FMKS(CECTL, TA, OF(2))           |
        EMIF_FMKS(CECTL, RDSTRB, DEFAULT)     |
        EMIF_FMKS(CECTL, MTYPE, SDRAM32)      |
        EMIF_FMKS(CECTL, RDHLD, DEFAULT),
                
        EMIF_FMKS(CECTL, WRSETUP, OF(0))      |
        EMIF_FMKS(CECTL, WRSTRB, OF(8))       |
        EMIF_FMKS(CECTL, WRHLD, OF(0))        |
        EMIF_FMKS(CECTL, RDSETUP, OF(0))      |
        EMIF_FMKS(CECTL, TA, OF(2))           |
        EMIF_FMKS(CECTL, RDSTRB, OF(8))       |
        EMIF_FMKS(CECTL, MTYPE, ASYNC8)       |
        EMIF_FMKS(CECTL, RDHLD, OF(0)),
        
        EMIF_FMKS(CECTL, WRSETUP, OF(2))      |
        EMIF_FMKS(CECTL, WRSTRB, OF(10))      |
        EMIF_FMKS(CECTL, WRHLD, OF(2))        |
        EMIF_FMKS(CECTL, RDSETUP, OF(2))      |
        EMIF_FMKS(CECTL, TA, OF(2))           |
        EMIF_FMKS(CECTL, RDSTRB, OF(10))      |
        EMIF_FMKS(CECTL, MTYPE, ASYNC32)      |
        EMIF_FMKS(CECTL, RDHLD, OF(2)),

        EMIF_FMKS(CECTL, WRSETUP, OF(2))      |
        EMIF_FMKS(CECTL, WRSTRB, OF(10))      |
        EMIF_FMKS(CECTL, WRHLD, OF(2))        |
        EMIF_FMKS(CECTL, RDSETUP, OF(2))      |
        EMIF_FMKS(CECTL, TA, OF(2))           |
        EMIF_FMKS(CECTL, RDSTRB, OF(10))      |
        EMIF_FMKS(CECTL, MTYPE, ASYNC32)      |
        EMIF_FMKS(CECTL, RDHLD, OF(2)),
        
        EMIF_FMKS(SDCTL, SDBSZ, 4BANKS)       |
        EMIF_FMKS(SDCTL, SDRSZ, 11ROW)        |
        EMIF_FMKS(SDCTL, SDCSZ, 8COL)         |
        EMIF_FMKS(SDCTL, RFEN, ENABLE)        |
        EMIF_FMKS(SDCTL, INIT, YES)           |
        EMIF_FMKS(SDCTL, TRCD, OF(1))         |
        EMIF_FMKS(SDCTL, TRP, OF(1))          |
        EMIF_FMKS(SDCTL, TRC, OF(5)),
    
        EMIF_FMKS(SDTIM, CNTR, OF(0))         |
        EMIF_FMKS(SDTIM, PERIOD, OF(1400)),

        EMIF_FMKS(SDEXT, WR2RD, OF(0))        |
        EMIF_FMKS(SDEXT, WR2DEAC, OF(2))      |
        EMIF_FMKS(SDEXT, WR2WR, OF(1))        |
        EMIF_FMKS(SDEXT, R2WDQM, OF(1))       |
        EMIF_FMKS(SDEXT, RD2WR, OF(0))        |
        EMIF_FMKS(SDEXT, RD2DEAC, OF(1))      |
        EMIF_FMKS(SDEXT, RD2RD, OF(0))        |
        EMIF_FMKS(SDEXT, THZP, OF(2))         |
        EMIF_FMKS(SDEXT, TWR, OF(1))          |
        EMIF_FMKS(SDEXT, TRRD, OF(0))         |
        EMIF_FMKS(SDEXT, TRAS, OF(4))         |
        EMIF_FMKS(SDEXT, TCL, OF(1))         
    };
	EMIF_config( &emifCfg0 );
	
	return;
}

⌨️ 快捷键说明

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