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.

About size of program

Hi all,

In 6713, the flash is 512k, but my program is  0009b03d which exceeds 512K,I get this from the .map file in debug folder.

Does that mean I need switch to another DSP chip?

I think when debug, I can configure .cmd file to use the sdram to run my program. However Flash is the only memory partition we can store our program,right? Because everything is gone when power off in iram and adram.

In this case, I don't understand why we have 16MB sdram as the external sdram.

regards,

-da

  • da,

    There is no flash memory embedded in C6713 so you only need to hook up more external flash memory to the device.

    -Tommy

  • da cheng said:

    my program is  0009b03d which exceeds 512K,I get this from the .map file in debug folder.

    Does that mean I need switch to another DSP chip?

    600KB is very large for a DSP program. The 512KB Flash is large enough for most applications. There are two things I recommend you look at for reducing the size:

    1. Since you found the .map file in the Debug folder, you may be using the default settings for the Debug build configuration. You should reduce your program size substantially by switching to the Release configuration, but that can make it more difficult to debug your program. Instead, try adding the lowest level of optimization, -o0, to your Debug configuration. Or the better choice is to copy the Debug configuration to a new one named "DaCheng" and add the -o0 to that configuration. In CCSv3, the default will be the first configuration, alphabetically. You can increase the optimization to -o1 also, without making debug much more difficult. Be sure to leave -g on.

    2. Since 600KB is very large for a DSP program, you should see which program sections the biggest portions of that Flash size come from. You can do this by examining the next part of the .map file where the program and data sections are broken out separately and itemized by program module. The .text section is your application program space, so if that is the largest part, then the optimization will do a big job for you. If the .cinit section is large, then you may consider not initializing every array directly but instead by using for-loops at the beginning of your main() function.

    da cheng said:
    I don't understand why we have 16MB sdram as the external sdram.

    Most DSP applications copy a lot of the program and initialized data from the Flash into the internal SRAM and external SDRAM. After that, the 16MB SDRAM is intended to leave you with very large available space for large data buffers. You can have several large buffers for input and output data samples to allow a variety of DSP algorithms to run. We did not want the SDRAM size or the Flash size to be limiting factors for your application.