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.

Beginner problems with CCS v4 and an ezDSP kit

Other Parts Discussed in Thread: TMS320F2812, TEST2, TMS320DM6437

Hello.  To preface, I am completely new to Code Composer and/or Eclipse.  I have purchased an ezdsp kit (for TMS320F2812) from Spectrum Digital and have successfully ran demo programs using the included CCS v3.3.  However, it has been suggested that I change to v4.  I have not been able to even get a simple "hello world" to build since the change to v4.  Specifically, I get three errors (see below).  Can anyone see what I am doing wrong (i.e. with setting up the target or workspace)?  Are there any "0 level" tutorials available?  Somewhat frustrating as it was easy using the v3.3 provided with the ezdsp kit.  Also, I have downloaded what I could find for a Code Composer manual, which is dated 2000!!  My guess is that it doesn't apply to v4.

error 1) errors encounterd during linking; "Test2.out" not built

error 2) Linking failed. Check the console for details.

error 3) placement fails for object ".text", size 0x182a (page 0).....

Below is the Console output:

**** Build of configuration Debug for project Test2 ****

 

C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake -k all

'Building target: Test2.out'

'Invoking: C2000 Linker'

"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/c2000/bin/cl2000" -z -m"Test2.map" --warn_sections -i"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/c2000/lib" -i"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/c2000/include" --reread_libs --rom_model -o "Test2.out" "./hello.obj" -l"rts2800_ml.lib" "../2812_RAM_lnk.cmd"

<Linking>

warning: creating output section ".cio" without a SECTIONS specification

warning: creating ".stack" section with default size of 0x400; use the -stack

option to change the default size

warning: creating ".sysmem" section with default size of 0x400; use the -heap

option to change the default size

"../2812_RAM_lnk.cmd", line 86: error: placement fails for object ".text", size

0x182a (page 0). Available ranges:

PRAMH0 size: 0xffe unused: 0xf89 max hole: 0xf89

error: errors encountered during linking; "Test2.out" not built

 

>> Compilation failure

C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake: *** [Test2.out] Error 1

C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake: Target `all' not remade because of errors.

Build complete for project Test2

  • There are some tutorials under the "Getting Started" section of the CCSv4 wiki page

    One is a generic tutorial for Hello World. The other is a getting started guide that is specific to C2000.

    Thanks

    ki

  • Ki,

    Thanks for the info.  Unfortunately, I had already tried to utilize the wiki to do the "hello world" program which resulted in the errors shown.  I should have mentioned this in the original post.  One thing to note about the generic hello world tutorial, is that it does not instruct to link the target config file to the project.  However, this was shown in the tutorial for the C2000 devices.  I have recreated the hello world being very careful with the steps and it still gives the linking error and will not generate the .out file.  Any thoughts?  Could it be a bug with the target config selection of my device?

  • The linker errors are due to the the .text section size being too large to fit in the memory location defined in the default linker command file (PRAMH0 = 0xFFE). Including RTS can add a lot of code size. If you have a *.cmd for your EZ board which has available memory in another location, you can use that in your project.

  • As Ki mentioned, the reason for those linker errors with the "Hello World" program is that the 2812_RAM_lnk.cmd default linker command file does not have sufficient space in its defined RAM space (PRAMH0 in this case) to accomodate the code brought in by the printf routine. If you look at the link map file, you will see the code section (.text) is of size 0x182a while the available memory defined for PRAMH0 is 0xffe. This is because the printf routine brings in a lot of code from the runtimes. You would need to modify the linker command file to accomodate the .text section into a memory large enough to place it.

    It is best to start with one of the Peripheral examples we provide for F281x available in this download: http://focus.ti.com/docs/toolsw/folders/print/sprc097.html

    We have already ported these examples to CCS v4, so you can just open an existing project and start working with it.

     

  • hey someone please help me out,i am working on davinci processor tms320dm6437,i have installed the ccs version3.3 which got along with the kit...i am new to ccs,i am unable to find my linker command file,after i write the code though i am saving it at .c file the.cmdfile is not being produced,were is the location and how do i find it...someone plz reply about this files that needed to be added to a project and their locations...

     

    thanks in advacne...

  • Purnima,

    I have not dealt with the TMS320DM6437, only C2000.  However, I have found it beneficial (as a new user as well) to reference my chip's "Assembly Language Tools User's Guide" and "Optimizing C/C++ Compiler User's Guide."  Both these documents discuss the linker and cmd files.  I am sure your chip has similar references or you can find a more general reference for the TMS320 family.

    Perhaps you can download example projects from the TI website, which will have cmd files in the download.  The downloads often generate a new directory which will contain all the projects' files.  You can import the projects into CCS ver 4 and view from there.