This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于tms320c5517通过emif 外接nor flash

Expert 2137 points
Other Parts Discussed in Thread: TMS320C5517, SPRC133

关于tms320c5517通过emif 外接nor flash,nor flash型号为sst39vf800a,通过extern-cs2,我想问下开始地址是多少?  

问题二:dsp中寄存器的地址0c00 开始到c099 这个地址 是不是就是 dsp中DARAM中的地址?若是不是,有什么区别?

  • 1. 你是指flash开始的地址吗?flash开始地址是0。

    2. 不是DARAM中的地址。在内部I/O memory里,见数据手册6.2.1.4 I/O Memory说明。
    http://www.ti.com/lit/ds/symlink/tms320c5517.pdf 

  • 老师 您好:dsp c5517 我通过emif 向nor flash写数据 sst28vf6401b 没有反应,就是在使用emif 的时候,我需要如何正确的配置啊,我把我的配置程序贴在下面,老师麻烦您帮我看看。

    EBSR=0X1A00;
    ECDR=0X0000;
    CCR1=0X0001;
    CSL_EmifObj emifObj;
    // CSL_EmifConfig emifCfg;
    CSL_AsyncConfig emifCfg;
    CSL_EmifHandle hEmif;
    CSL_EmifAsyncWaitCfg asyncWaitConfig;
    CSL_EmifAsyncCfg asyncConfig;

    EMIF_init(&emifObj);
    hEmif = &emifObj;

    emifCfg.emifAccess = CSL_EMIF_16BIT;
    emifCfg.chipSelect = CSL_EMIF_CS2;

    emifCfg.asyncWaitCfg = &asyncWaitConfig;
    emifCfg.asyncCfg = &asyncConfig;
    EMIF_asyncConfig(hEmif, &emifCfg);

  • 官方库函数中

    /** ============================================================================
    * @n@b EMIF_asyncConfig
    *
    * @b Description
    * @n This API configures the asynchronous memory hardware registers.
    *
    * @b Arguments
    * @verbatim
    hEmif Handle to the emif object
    emifConfig Emif configuration structure
    @endverbatim
    *
    * <b> Return Value </b> CSL_Status
    * @li CSL_SOK - Asynchronous configuration is successful
    * @li CSL_ESYS_BADHANDLE - Invalid handle
    * @li CSL_ESYS_INVPARAMS - Invalid config structure
    *
    * <b> Pre Condition </b>
    * @n Emif init should be called successfully
    *
    * <b> Post Condition </b>
    * @n Configures asynchronous registers
    *
    * @b Modifies
    * @n emif registers
    *
    * @b Example
    * @verbatim
    CSL_EmifObj emifObj;
    CSL_Status status;
    CSL_EmifConfig emifCfg;
    CSL_EmifHandle hEmif;
    CSL_EmifAsyncWaitCfg asyncWaitConfig;
    CSL_EmifAsyncCfg asyncConfig;

    status = EMIF_init(&emifObj);
    hEmif = &emifObj;
    ...
    emifCfg.emifWidth = CSL_EMIF_8_BIT;
    ...
    ...
    emifCfg.asyncWaitCfg = &asyncWaitConfig;
    emifCfg.asyncCfg = &asyncConfig;
    status = EMIF_asyncConfig(hEmif, &emifCfg);
    @endverbatim
    * ============================================================================
    */

    EMIF_asyncConfig这个函数有问题,就是&emifCfg不能识别? 

  • "没反应"具体是指什么?用示波器量一下写信号,片选信号和地址线,数据线的时序,看是否满足flash要求的写时序。

    烧写flash要求clean/erase/program的顺序,具体参考flash数据手册。

  • 老师 你能发个 配置emif,操作flash的代码给我看下吗? 

  • csl里有norflash例程可以参考。

    c55_lp\c55_csl_3.06\ccs_v6.x_examples\emif
    http://www.ti.com/tool/sprc133