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.

C6701 RAM data/program

Hello, I have been tasked to program a C6701 DSP.  This is an older DSP from what I can tell and the DSPs, I noticed that on this DSP the RAM is split in two different locations seperated by internal program and data.  The DSPs I have used in the past have not seperated the two.  This may seem like a basic question but, what do I do with the Data ram after my project is ready to be compiled?  Should the compiler automatically use both putting some sections in program and some in data making it transparent to me?

  • Hi Michael,

    The original C67x chips (C670x) did indeed have separate program and data memories. The CPU cannot fetch instructions from the data memory, and it cannot fetch data from program memory. You will need to specify where to place code and data sections in memory via the linker command file.

    If you are using DSP/BIOS you can specify this inside the GUI for all the compiler-built sections (i.e., if you create custom program/data sections via the appropriate #pragma command you will need a secondary .cmd file to specify where the linker should place these). If you are not using DSP/BIOS you will need to create this by hand.

    There may be some example C67x projects with linker command files in the CCS directory depending on which version of the IDE you are using, but you can find an example command file in section 5.3.6 of the C Compiler Guide as well as more detailed info in section 7.5 of the Assembly User Guide.