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.

Customize link command file for LCDK 6748

Other Parts Discussed in Thread: OMAPL138

Hi there,

I wrote a pretty big signal processing source code in a mixed C and C++ to run on the LCDK. By the way, I use CCS v6.01. In the source code several DSP functions from TI's dsplib are used such as FFT and dot product. Since the whole source code is big and many large data arrays are used, I allocated everything to the external memory DDR2. The code runs correctly but far too slow. The FFT and dot product modules run about 10 times slower than the benchmark. Could you advise how to customize the link command file to make the signal processing modules run faster?

Thanks very much,

Bill 

  • Hi Bill,

    What frequency are you operating the DSP ?
    i.e 300MHZ or 456MHz ?

    Make sure that you are operating the DSP at maximum frequency 456MHz.

    Regards,
    Shankari G.
  • Hi Shankari,
    Thanks very much for your reply. The frequency currently used is 300MHz. How to configure frequency to 456MHz?
    Best Regards,
    Bill
  • Hi Bill,

    If CCS is installed, you will find the gel file for OMAPL138 LCDK at location, "\ccsv6\ccs_base\emulation\boards\lcdkc6748\gel"

    In CCS debug mode, Once the gel file is loaded, you can call "Core_456MHz_mDDR_150MHz" function from "script" option to initialize the C6748 DSP to 456MHz.

    Regards,
    Shankari

  • Hi Shankari,

    Thank you for the advice. I changed frequency to 456MHz, but the measured cycle count of the FFT module or dot_product module does not change much. They are still about 10 times bigger than the benchmark. I wonder whether it is because the code and data are all in the external memory DDR2, and how to change the link command file to make the code run faster.

    Best Regards,
    Bill
  • Hi Bill,

    The following are the suggestions.

    1. You can try changing the linker command file in such a way that those modules can be at internal RAM ( IRAM) instead of DDR2.

    For example,   " .text    : load > IRAM "

    2. Do a code walk through and do code optimization.

    (The older method is that, people will try assembly code instead of C code for improving the speed performance)

    3. Try whether you can use the data alone in cache memory for faster access.

    Regards,

    Shankari

    -------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------

  • Dear Shankari,

    Thank you very much for the suggestions. I have actually already tried to use the internal RAM and the speed of the code improved a lot.

    This post should be closed now.

    Best Regards,

    Bill