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.

Error 1060: significance of trgmsg.obj object member

Hi,

Could someone throw some light on for what purpose is the run-time support library's object member, trgmsg.obj called during loading of a program. I am getting a constant error while loading my .out file as " Trouble Removing Breakpoint with the Action "Process CIO" at 0x10010668". Generally when i used to load .cio section in the lower addresses, it did not have this problem but after some increase in code size, and increase in stack size, this error occurs. My linker command file is as follows.

-stack 0x2000
-heap 0x400

/* Include TI libraries */
-lrts67plus.lib
-lcsl_C6727.lib
-lcsl_C672x_intc.lib

/****************************************************************************/
/* Specify the Memory Configuration */
/****************************************************************************/

MEMORY
{
ROM_VECS : origin = 0x00000000 length = 0x00001000
ROM : origin = 0x00001000 length = 0x000BF000
VEC : origin = 0x10000000 length = 0x00001C00
RAM : origin = 0x10001C00 length = 0x0003E400
/*SLOWRAM : origin = 0x10022A74 length = 0x0001D58C*/
SDRAM : origin = 0x80000000 length = 0x08000000
ASYNC2 : origin = 0x90000000 length = 0x00008000
}


/****************************************************************************/
/* Specify the Output Sections */
/****************************************************************************/

SECTIONS
{
.TIBoot: load = RAM
.text : load = 0x10001c00
{
main.obj (.text)
Init.obj (.text)
Hann_Window.obj (.text)
Compute_corrmod.obj (.text)
Compute_PanCoeff.obj(.text)
Classifier_Extract.obj (.text)
Least_Squares.obj (.text)
OLA_Cue_Amb.obj (.text)
}

.usr: load = RAM /* load = 0x10004780 change address acc. to end address of .text */
{
*(.text)
}

GROUP : load = RAM
{
.stack fill = 0xdeadbeef
.cio
.sysmem

}


.globsec : load = RAM (HIGH) /*0x100221e8 change address acc. to end address of the last section */
{
main.obj (.far)
Init.obj (.far)
}

.far: load = RAM
{
*(.far)
}


.cinit load = RAM
/* .cio load = RAM*/
.const load = RAM
.data load = RAM
.switch load = RAM

.bss load = RAM
/* .stack load = RAM (HIGH) fill = 0xdeadbeef */
/* .sysmem load = RAM */
.pinit load = RAM

The GROUP directive has been used to hav contiguous allocation. My program uses static allocation. Compiler used is CCS 3.3 . dsp is C6727 on PADK. No DSP/BIOS is used.

Thanks.

anushree

  • I apologize for the delay.

    As explained in this wiki article, part of the C I/O implementation is a breakpoint which signals the host to handle an I/O request from the target system.  This breakpoint C$$IO$$ is in a routine from the RTS module trgmsg.obj.  Thus, you need to place that routine in memory where CCS can set a software breakpoint.  I'm not sure of the details of your system, but it is a good guess that, when things are not working, the trgmsg routines are in flash.

    Thanks and regards,

    -George