I don't understand the first thing about .cmd files. Is there an easy-to-consume reference?
My program is growing larger and I believe I am seeing memory corruption since linking (and "adding a file") the DSPLIB library to my project. I believe I am seeing good results from DSPLIB's FFT functions, but other variables in my program seem to have garbage values.
Does adding a dependency change the memory organization? Can someone tell me what I might need to do?
My .cmd file is as follows:
/* Welch, Wright, & Morrow, */ /* Real-time Digital Signal Processing, 2011 */ /*///////////////////////////////////////////////////////////////////// // Filename: lnk6713.cmd // // Synopsis: Linker command file for 6713 DSK // /////////////////////////////////////////////////////////////////////*/-c -heap 0x400 -stack 0x400 /* very large stack for DSP programs. */ -lrts6700.lib /* floating point library */ MEMORY { vecs: o = 00000000h l = 00000200h IRAM: o = 00000200h l = 0003FE00h SDRAM: o = 80000000h l = 01000000h } SECTIONS { "vectors" > vecs .cinit > IRAM .text > IRAM .stack > IRAM .bss > IRAM .const > IRAM .data > IRAM .far > IRAM .switch > IRAM .sysmem > IRAM .tables > IRAM .cio > IRAM "CE0" > SDRAM }
I am using a daughter card for I/O, which has a MATLAB support library for communication via USB. I believe I do not link with any dependencies other than DSPLIB in my DSP application. The daughter card came with source files for all the DSKC6713 attributes and initialization procedures. I build the DSP application with CCS v6.0 and I upload and run the program using the daughter card's MATLAB support. I debug by using MATLAB to access variables in the DSP application's global address space.