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.

DSP app has poor performance when running as DSPLink application

Other Parts Discussed in Thread: OMAP-L137

I'm in the process of porting an older DSP application to OMAP-L137.  I want to use DSPLink, but am getting some odd benchmarking.  The application runs significantly faster if I run it as a DSP only app in CCSv4.  If I place it in a DSPLink wrapper and try to execute it via PROC_load and PROC_start, is MUCH slower than it should be, by a factor of 2 or more.

I'm kind of stumped.  The app is running as a task, and there are no other tasks, software interrupts, or hardware interrupts set up in this app -- shouldn't it have full control of the processor?

Thanks,
Chris 

  • Ah ha!  I found the answer.  I changed my tcf file to store the program and data sections in the level 2 cache instead of SDRAM.  I may look at using the 128k of SRAM, not sure how that's configured.  Here's the code, for posterity:

    // configure the cache, making sure I have enough room in L2 for my code and data
    prog.module("GBL").C64PLUSL2CFG = "0k";
    prog.module("GBL").C64PLUSL1DCFG = "32k";
    prog.module("GBL").C64PLUSL1PCFG = "32k";

    // set up IRAM section to put code and data in.
    var IRAM = prog.module("MEM").instance("IRAM");
    IRAM.len = 262114;
    IRAM.createHeap = 1;

    // used to go to SDRAM, now set it to IRAM 
    bios.setMemCodeSections(prog, IRAM);
    bios.setMemDataNoHeapSections(prog, IRAM);
    bios.setMemDataHeapSections(prog, IRAM);

    Thanks,
    Chris 

     

  • Glad to see this was resolved