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

📄 emif.c

📁 TI DSPTI DSPTI DSPTI DSPTI DSP
💻 C
字号:

#include <csl.h>
#include <csl_emif.h>
#include <csl_emifa.h>
#include <csl_emifb.h>
#include "emif.h"


void emif_init()
{

    /* EMIFB settings for 600/100 MHz operation */
    EMIFB_Config emifbCfg0v1 = {
        EMIFB_FMKS(GBLCTL, EK2RATE, FULLCLK)    |
        EMIFB_FMKS(GBLCTL, EK2HZ, CLK)          |
        EMIFB_FMKS(GBLCTL, EK2EN, DISABLE)      |
        EMIFB_FMKS(GBLCTL, BRMODE, MRSTATUS)    |
        EMIFB_FMKS(GBLCTL, NOHOLD, DISABLE)     |
        EMIFB_FMKS(GBLCTL, EK1HZ, HIGHZ)        |
        EMIFB_FMKS(GBLCTL, EK1EN, ENABLE),

        EMIFB_FMKS(CECTL, WRSETUP, OF(10))      |
        EMIFB_FMKS(CECTL, WRSTRB, OF(8))       |
        EMIFB_FMKS(CECTL, WRHLD, OF(2))        |
        EMIFB_FMKS(CECTL, RDSETUP, OF(0))      |
        EMIFB_FMKS(CECTL, TA, OF(2))           |
        EMIFB_FMKS(CECTL, RDSTRB, OF(8))       |
        EMIFB_FMKS(CECTL, MTYPE, ASYNC8)       |
        EMIFB_FMKS(CECTL, RDHLD, OF(0)),

        EMIFB_FMKS(CECTL, WRSETUP, OF(0))      |
        EMIFB_FMKS(CECTL, WRSTRB, OF(8))       |
        EMIFB_FMKS(CECTL, WRHLD, OF(2))        |
        EMIFB_FMKS(CECTL, RDSETUP, OF(0))      |
        EMIFB_FMKS(CECTL, TA, OF(2))           |
        EMIFB_FMKS(CECTL, RDSTRB, OF(8))       |
        EMIFB_FMKS(CECTL, MTYPE, ASYNC8)       |
        EMIFB_FMKS(CECTL, RDHLD, OF(0)),

        EMIFB_FMKS(CECTL, WRSETUP, DEFAULT)    |
        EMIFB_FMKS(CECTL, WRSTRB, DEFAULT)     |
        EMIFB_FMKS(CECTL, WRHLD, DEFAULT)      |
        EMIFB_FMKS(CECTL, RDSETUP, DEFAULT)    |
        EMIFB_FMKS(CECTL, TA, DEFAULT)         |
        EMIFB_FMKS(CECTL, RDSTRB, DEFAULT)     |
        EMIFB_FMKS(CECTL, MTYPE, ASYNC8)      |
        EMIFB_FMKS(CECTL, RDHLD, DEFAULT),

        EMIFB_FMKS(CECTL, WRSETUP, DEFAULT)    |
        EMIFB_FMKS(CECTL, WRSTRB, DEFAULT)     |
        EMIFB_FMKS(CECTL, WRHLD, DEFAULT)      |
        EMIFB_FMKS(CECTL, RDSETUP, DEFAULT)    |
        EMIFB_FMKS(CECTL, TA, DEFAULT)         |
        EMIFB_FMKS(CECTL, RDSTRB, DEFAULT)     |
        EMIFB_FMKS(CECTL, MTYPE, ASYNC8)      |
        EMIFB_FMKS(CECTL, RDHLD, DEFAULT),

        EMIFB_FMKS(SDCTL, SDBSZ, DEFAULT)      |
        EMIFB_FMKS(SDCTL, SDRSZ, DEFAULT)      |
        EMIFB_FMKS(SDCTL, SDCSZ, DEFAULT)      |
        EMIFB_FMKS(SDCTL, RFEN, DEFAULT)       |
        EMIFB_FMKS(SDCTL, INIT, DEFAULT)       |
        EMIFB_FMKS(SDCTL, TRCD, DEFAULT)       |
        EMIFB_FMKS(SDCTL, TRP, DEFAULT)        |
        EMIFB_FMKS(SDCTL, TRC, DEFAULT),

        EMIFB_FMKS(SDTIM, XRFR, DEFAULT)       |
        EMIFB_FMKS(SDTIM, PERIOD, DEFAULT),

        EMIFB_FMKS(SDEXT, WR2RD, DEFAULT)      |
        EMIFB_FMKS(SDEXT, WR2DEAC, DEFAULT)    |
        EMIFB_FMKS(SDEXT, WR2WR, DEFAULT)      |
        EMIFB_FMKS(SDEXT, R2WDQM, DEFAULT)     |
        EMIFB_FMKS(SDEXT, RD2WR, DEFAULT)      |
        EMIFB_FMKS(SDEXT, RD2DEAC, DEFAULT)    |
        EMIFB_FMKS(SDEXT, RD2RD, DEFAULT)      |
        EMIFB_FMKS(SDEXT, THZP, DEFAULT)       |
        EMIFB_FMKS(SDEXT, TWR, DEFAULT)        |
        EMIFB_FMKS(SDEXT, TRRD, DEFAULT)       |
        EMIFB_FMKS(SDEXT, TRAS, DEFAULT)       |
        EMIFB_FMKS(SDEXT, TCL, DEFAULT),

        EMIFB_CESEC_DEFAULT,
        EMIFB_CESEC_DEFAULT,
        EMIFB_CESEC_DEFAULT,
        EMIFB_CESEC_DEFAULT
    };

    /* EMIFA settings for 720/120 MHz operation */
      EMIFA_Config emifaCfg0v1 = {
        EMIFA_FMKS(GBLCTL, EK2RATE, FULLCLK)    |
        EMIFA_FMKS(GBLCTL, EK2HZ, CLK)          |
        EMIFA_FMKS(GBLCTL, EK2EN, ENABLE)       |
        EMIFA_FMKS(GBLCTL, BRMODE, MRSTATUS)    |
        EMIFA_FMKS(GBLCTL, NOHOLD, DISABLE)     |
        EMIFA_FMKS(GBLCTL, EK1HZ, HIGHZ)        |
        EMIFA_FMKS(GBLCTL, EK1EN, ENABLE)       |
        EMIFA_FMKS(GBLCTL, CLK4EN, ENABLE)      |
        EMIFA_FMKS(GBLCTL, CLK6EN, DISABLE),

        EMIFA_FMKS(CECTL, WRSETUP, OF(10))     |
        EMIFA_FMKS(CECTL, WRSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, WRHLD, OF(2))        |
        EMIFA_FMKS(CECTL, RDSETUP, OF(2))      |
        EMIFA_FMKS(CECTL, TA, OF(2))           |
        EMIFA_FMKS(CECTL, RDSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, MTYPE, ASYNC32)      |
        EMIFA_FMKS(CECTL, RDHLD, OF(2)),

        EMIFA_FMKS(CECTL, WRSETUP, OF(10))     |
        EMIFA_FMKS(CECTL, WRSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, WRHLD, OF(2))        |
        EMIFA_FMKS(CECTL, RDSETUP, OF(2))      |
        EMIFA_FMKS(CECTL, TA, OF(2))           |
        EMIFA_FMKS(CECTL, RDSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, MTYPE, ASYNC32)      |
        EMIFA_FMKS(CECTL, RDHLD, OF(2)),

        EMIFA_FMKS(CECTL, WRSETUP, OF(10))     |
        EMIFA_FMKS(CECTL, WRSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, WRHLD, OF(2))        |
        EMIFA_FMKS(CECTL, RDSETUP, OF(2))      |
        EMIFA_FMKS(CECTL, TA, OF(2))           |
        EMIFA_FMKS(CECTL, RDSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, MTYPE, ASYNC32)      |
        EMIFA_FMKS(CECTL, RDHLD, OF(2)),

        EMIFA_FMKS(CECTL, WRSETUP, OF(10))     |
        EMIFA_FMKS(CECTL, WRSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, WRHLD, OF(2))        |
        EMIFA_FMKS(CECTL, RDSETUP, OF(2))      |
        EMIFA_FMKS(CECTL, TA, OF(2))           |
        EMIFA_FMKS(CECTL, RDSTRB, OF(10))      |
        EMIFA_FMKS(CECTL, MTYPE, ASYNC32)      |
        EMIFA_FMKS(CECTL, RDHLD, OF(2)),

        EMIFA_FMKS(SDCTL, SDBSZ, 4BANKS)       |
        EMIFA_FMKS(SDCTL, SDRSZ, 11ROW)        |
        EMIFA_FMKS(SDCTL, SDCSZ, 8COL)         |
        EMIFA_FMKS(SDCTL, RFEN, ENABLE)        |
        EMIFA_FMKS(SDCTL, INIT, YES)           |
        EMIFA_FMKS(SDCTL, TRCD, OF(1))         |
        EMIFA_FMKS(SDCTL, TRP, OF(1))          |
        EMIFA_FMKS(SDCTL, TRC, OF(5))          |
        EMIFA_FMKS(SDCTL, SLFRFR, DISABLE),

        EMIFA_FMKS(SDTIM, XRFR, OF(0))         |
        EMIFA_FMKS(SDTIM, PERIOD, OF(1560)),

        EMIFA_FMKS(SDEXT, WR2RD, OF(0))        |
        EMIFA_FMKS(SDEXT, WR2DEAC, OF(2))      |
        EMIFA_FMKS(SDEXT, WR2WR, OF(1))        |
        EMIFA_FMKS(SDEXT, R2WDQM, OF(1))       |
        EMIFA_FMKS(SDEXT, RD2WR, OF(0))        |
        EMIFA_FMKS(SDEXT, RD2DEAC, OF(1))      |
        EMIFA_FMKS(SDEXT, RD2RD, OF(0))        |
        EMIFA_FMKS(SDEXT, THZP, OF(2))         |
        EMIFA_FMKS(SDEXT, TWR, OF(1))          |
        EMIFA_FMKS(SDEXT, TRRD, OF(0))         |
        EMIFA_FMKS(SDEXT, TRAS, OF(4))         |
        EMIFA_FMKS(SDEXT, TCL, OF(1)),

        EMIFA_CESEC_DEFAULT,
        EMIFA_CESEC_DEFAULT,
        EMIFA_CESEC_DEFAULT,
        EMIFA_CESEC_DEFAULT
    };



    /* Configure EMIFB for failsafe operation at 120MHz */
    EMIFA_config(&emifaCfg0v1);

  
}

⌨️ 快捷键说明

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