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.

c5509a如何在外部sdram上仿真



为以后能将大程序在外部sdram上仿真,我试着将一个点灯的程序cmd文件的程序段放在外部SDRAM,编译正常,但仿真调试不成功,即无法正常下载,仿真调试的时候只能将程序放在内部RAM里面吗?见下图:

  • 没加gel文件初始化SDRAM接口呗。

  • 你好,我加有gel文件,您看我写的对吗?

    hotmenu C5509_Init()
    {
    GEL_Reset();
    TMCR_Reset();

    GEL_MapOn();
    GEL_MapReset();

    /* Program Space */
    GEL_MapAdd(0x0000C0,0,0x00FF40,1,1); /* DARAM */
    GEL_MapAdd(0x010000,0,0x030000,1,1); /* SARAM */
    GEL_MapAdd(0x040000,0,0x3C0000,1,1); /* External CE0 */
    GEL_MapAdd(0x400000,0,0x400000,1,1); /* External CE1 */
    GEL_MapAdd(0x800000,0,0x400000,1,1); /* External CE2 */
    /* For MP/MC=1 (BOOTM[2:0] = 0) */
    GEL_MapAdd(0xC00000,0,0x400000,1,1); /* External CE3 */
    /* For MP/MC=0 (BOOTM[2:0] != 0) */
    /*GEL_MapAdd(0xC00000,0,0x3F8000,1,1); /* External CE3 */
    GEL_MapAdd(0xFF0000,0,0x010000,1,0); /* PDROM */


    /* Data Space */
    GEL_MapAdd(0x000000,1,0x000050,1,1); /* MMRs */
    GEL_MapAdd(0x000060,1,0x007FA0,1,1); /* DARAM */
    GEL_MapAdd(0x008000,1,0x018000,1,1); /* SARAM */
    GEL_MapAdd(0x020000,1,0x1E0000,1,1); /* External CE0 */
    GEL_MapAdd(0x200000,1,0x200000,1,1); /* External CE1 */
    GEL_MapAdd(0x400000,1,0x200000,1,1); /* External CE2 */
    /* For MP/MC=1 (BOOTM[2:0] = 0) */
    GEL_MapAdd(0x600000,1,0x200000,1,1); /* External CE3 */
    /* For MP/MC=0 (BOOTM[2:0] != 0)*/
    /*GEL_MapAdd(0x600000,1,0x1FC000,1,1); /* External CE3 */
    /*GEL_MapAdd(0x7FC000,1,0x004000,1,0); /* PDROM */

    /* IO Space */
    GEL_MapAdd(0x0001,2,0x0002,1,1); /* IDLE CONTROL AND STATUS */
    GEL_MapAdd(0x0800,2,0x0014,1,1); /* EMIF */
    GEL_MapAdd(0x0C00,2,0x000C,1,1); /* DMA0 */
    GEL_MapAdd(0x0C20,2,0x000C,1,1); /* DMA1 */
    GEL_MapAdd(0x0C40,2,0x000C,1,1); /* DMA2 */
    GEL_MapAdd(0x0C60,2,0x000C,1,1); /* DMA3 */
    GEL_MapAdd(0x0C80,2,0x000C,1,1); /* DMA4 */
    GEL_MapAdd(0x0CA0,2,0x000C,1,1); /* DMA5 */
    GEL_MapAdd(0x0E00,2,0x0001,1,1); /* DMA GCR Reg */
    GEL_MapAdd(0x0E03,2,0x0001,1,1); /* DMA TCR Reg */
    GEL_MapAdd(0x1000,2,0x0004,1,1); /* TIMER0 */
    GEL_MapAdd(0x1800,2,0x000D,1,1); /* RTC */
    GEL_MapAdd(0x1C00,2,0x0001,1,1); /* CLKMD Reg */
    GEL_MapAdd(0x1E00,2,0x0001,1,1); /* USBPLL Reg */
    GEL_MapAdd(0x2400,2,0x0004,1,1); /* TIMER1 */
    GEL_MapAdd(0x2800,2,0x001F,1,1); /* MCBSP0 */
    GEL_MapAdd(0x2C00,2,0x001F,1,1); /* MCBSP1 */
    GEL_MapAdd(0x3000,2,0x001F,1,1); /* MCBSP2 */
    GEL_MapAdd(0x3400,2,0x0002,1,1); /* GPIO */
    GEL_MapAdd(0x3800,2,0x0005,1,1); /* DIE AND REV ID */
    GEL_MapAdd(0x3C00,2,0x000D,1,1); /* I2C */
    GEL_MapAdd(0x4000,2,0x0004,1,1); /* WATCHDOG TIMER */
    GEL_MapAdd(0x4400,2,0x0006,1,1); /* ADDRESS/GPIO/EHPI */
    GEL_MapAdd(0x4800,2,0x001B,1,1); /* MMC/SD1 */
    GEL_MapAdd(0x4C00,2,0x001B,1,1); /* MMC/SD2 */
    GEL_MapAdd(0x5800,2,0x1000,1,1); /* USB Regs and Buffer */
    GEL_MapAdd(0x6800,2,0x0004,1,1); /* ADC */
    GEL_MapAdd(0x6C00,2,0x0001,1,1); /* EBSR Reg */
    GEL_MapAdd(0x7000,2,0x0002,1,1); /* USB IDLE Regs */
    GEL_MapAdd(0x7400,2,0x0001,1,1); /* SROM Reg */

    GEL_TextOut("C5509 Memory Map Initialization Complete.\n");
    }

    /* Initialize the EMIF control registers to access */
    /* SBSRAM(CE0), FLASH(CE1), CPLD control & status regs(CE3) */

    menuitem "C5509 EBSR Config";

    hotmenu Data_EMIF_En()
    {
    GEL_MemoryFill(0x6C00,2,1,0x0200);
    GEL_TextOut("C5509 Ext. Bus set to Data EMIF.\n");
    }

    hotmenu Full_EMIF_En()
    {
    GEL_MemoryFill(0x6C00,2,1,0x0201);
    GEL_TextOut("C5509 Ext. Bus set to Full EMIF.\n");
    }

  • zhen zhao2 说:
    我加有gel文件,您看我写的对吗?

    gel写的应该没问题,就是没看到配置EMIF的部分,也没看到有ontargetconnect()函数。

    参考CCS安装目录下有跟EVM板配套的gel吧。