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.

Program running 100x slower in SDRAM?

Guru 15580 points

I am running the ezdsp_demo program on the ezdspc5502 board. When I compile the program to run on external SDRAM it runs ~100 times slower than when it runs in DARAM. I can understand *some* difference in the operating speed, but 100x? This is program a simple loop that toggles GPIO7, no heavy DSP math. What could be causing this slow performance? (When I look at ST3_CAEN, it is enabled).

  • ...well, from SPRA924A.

    Conclusion
    The C5501 and C5502 DSPs were designed as low-cost DSPs for low-cost solutions. In order to
    achieve the best performance with this processor, the system designer must follow the
    guidelines provided in the application report.
    • Code placed in external memory and I-Cache enabled
    • Data located in internal memory at run time
    • External Memory Interface (EMIF) maximizes clock frequency
    The examples provided in this application report have shown that when these guidelines are
    followed the performance is often comparable to the C5510 executing code from internal
    memory.

    So, after modifying my code to include:
    #include "csl_icache.h"
        ICACHE_enable();
    ...the program appears to run at the appropriate (full) speed.
    I sure wish we could get a little TI tech support on this forum....
  • Thank you for your post Mike. I was having the same problem and managed to solve it thanks to your answer to your own problem :-)

  • Glad it helped. However, if you are considering the C5502 you may also want to have a look at this post also.

    http://e2e.ti.com/support/dsp/tms320c5000_power-efficient_dsps/f/109/t/182472.aspx