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.

code or data in SDRAM?

  my on-chip RAM is not enough, and also I want my program run fast, I should put my code in   external SDRAM

                #pragma CODE_SECTION(func, "SDRAM")  

 or put my data in external SDRAM

               #pragma DATA_SECTION(buf,"SDRAM")?  

   and why?

   C6747 chip have a feature of 2400 MIPS/1800 MFLOTS, CCS3.3.

  • Thomas,

    The C6000 DSP has 32K bytes each of L1P and L1D RAM for program and data respectively which can be configured as cache. It also has a unified 256K byte L2 RAM which can also be configured as cache for both program and data, mapped memory or a combination of the two.

    Finally, you will have to make the decision based on the size of your program/data space and data throughput and application. In computationally intensive applications, data availability would be the bottle neck and it is best to have faster data access. If your data can fit in on-chip memory (L1D and/or L2), it would be best to leave it on-chip. If not, if your application operates on deterministic data buffer sizes, you can disable cache data cache but have data DMA'ed into L1D/L2 manually in your program if possible.

    The TMS320C674x DSP Megamodule Reference Guide and device datasheet has information on cache. You can also get some pointers on cache operation on the wiki here. You can also search for more information on cache behavior on the wiki.

    Regards,

    Sunil Kamath