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.

DSP5xx CSL库中的MSC例子,程序固化后不能正常运行,有什么办法解决?



将编译出来的out文件,在线debug load program 可以正常运行,链接到电脑上也可以识别。 但是通过Nor flash writer 工程固化之后,不能正常运行。不能识别U盘。  CCS5.2  + ezdsp 5515

  • 我的现象和你一样,帮你补充一下:

    程序固化到FLASH之后,上电第一次运行不能读SD造成MSC初始化失败。仿真(不使用GEL)可以正常运行,CPU Reset也可以正常运行,只有在上电第一次的时候不能读SD卡。

    通过LCD显示判断,上电第一次运行,程序是死在 AT_ SYS_INIT (文件系统初始化)的第一次读取SD的MMC_read函数,在发送给SD 读指令MMC_sendCmd后,等待MMC_isr进行回调的位置。(句子有点长)

    MMC_isr的程序:

    void mmcsd0_isr(void)
    {
    MMC_intEnable(mmcsdHandle, 0x0000);
    mmcsdTxferComplete = 1;
    }

    回调函数:

    void mmcsdDataCallback(void *hMmcSd)
    {
    while(mmcsdTxferComplete != 1);//程序就是死在这里的。

    mmcsdTxferComplete = 0;

    }

    不知道MMC不产生中断的原因是什么?

    MMC初始化都没问题的呀,在程序开头也加过了MPRT指令避免SD被屏蔽。

    *(ioport volatile unsigned*)0x0001 = 0x000E;//ENable MPORT
    asm(" idle");

    同 等 TI工程师来解惑。

  • 你的的程序是死循环在 这里吗?     800002:   0000bf_5100              RPTCC #191, AC0 == #0 || SFTL AC0,#1

  • 纠结了1个星期的问题,现在终于解决了,心情好好!

    请你先查看这个链接:

    http://processors.wiki.ti.com/index.php/C5515_Boot-Image_Programmer#Common_Mistakes_in_Boot_Image_User_Code

    然后,在BIOS的MEM设置里面,吧SARAM和VECT段的地址修改下就OK了。

    在地址0x4e000-4ffff处,千万不要使用。