Sign in

username:

password:



Not a member?

Search c6x



Search tips

Subscribe to c6x



c6x by Keywords

AD535 | BIOS | Booting | Bootloader | C621 | C6211 | C6415 | C671 | C6711 | C6711DSK | C6713 | CCS | Chassaing | COFF | DAT | DM64 | DM642 | DMA | DSK671 | DSK6711 | EDM | EDMA | EMIF | Emulator | EVM | EVM620 | FFT | FIR | GPIO | Halting | HPI | HWI | IDK | JTAG | LDB | LDH | LDW | Linker | LMS | LOG_printf | Matlab | McBSP | MEM_alloc | MIPS | PCI | PCM3003 | Pipeline | Profiling | QDM | Reset | ROM | RTDX | Sampling | SDRAM | Stack | TEB | THS1206 | TMS320C621 | TMS320C6416 | TMS320C6711 | TMS320C6713 | UART | Vector Table | XBUS | XDS560

Ads

Discussion Groups

Discussion Groups | TMS320C6x | relocation overflow ??

Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).

  

Post a new Thread

relocation overflow ?? - nonverbal - Oct 16 17:45:00 2003



I link my asm and c.
CCS tell me some errors----> "c:\ti\c6000\cgtools\bin\cl6x" -@"Debug.lkf"
<Linking>
>> error: relocation overflow occured at address 0x00000014 in
section '.text'
of input file 'J:\DSP\ga01\Debug\sind.obj'. The 32-bit
relocated
address 0x80000680 is too large to encode in the 16-bit
signed
field. The value was truncated. You may need to add a
mask to the
assembly instruction or use other target specific
assembly features
if you really only need the lowest 16 bits of this symbol
my assembly file is-------->>

.def _sind
.global _sintable ;60*1 table
.global _sintmp ;2*1
matrix for delay
k .float 1.98904
.text
_sind: MVK 1,A0
INTSP A0,A0
|| MVK _sintable,A2
|| MVK _sintmp,B2
MVK k,B4
LDW *B4,B0
|| MVK 60,A1
LOOP: SUB A1,1,A1
|| LDW *B2,B5
LDW *+B2[1],A5
NOP 4
STW B5,*+B2[1]
|| MPYSP B0,B5,B4
NOP 3
SUBSP B4,A5,A5
NOP 3
ADDSP A5,A0,A5
NOP 3
STW A5,*B2
|| MVK 0,A0
[A1]STW A5,*A2++
NOP 4
[A1]B LOOP
NOP 5
.end

Is there any error in my assembly ?





(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

Re: relocation overflow ?? - bhooshaniyer - Oct 17 14:19:00 2003

Nonverbal,
I dint go thru yr code to check if it has a problem...but
the error message is familiar to me...and from what i remember...the
error dint occur when i tried the same program in another machine
with the same CCSV2.1...i was told it was something got to do with
the memory model but i was never convinced because the same code
worked in another machine perfectly fine...try the same..try running
it in another machine...I know,that doesnt answer yr question,but hey
if it works,you have nothing to complain abt!

Bhooshan




(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

Re: relocation overflow ?? - Mike Dunn - Oct 18 5:40:00 2003

Hello nonverbal,
 
I only gave your code a quick glance - it looks like your MVK instruction is giving you a bogus address since the definition of MVK is:
"Move a 16-Bit Signed Constant Into a Register and Sign Extend"
This would corespond to the error.
From TI's documentation:
Note:Use the MVK instruction to load 16-bit constants. The assembler will generate a warning for any constant over 16 bits. To load 32-bit constants, such as 0x1234 5678, use the following pair of instructions:
MVKL 0x12345678
MVKH 0x12345678
If you are loading the address of a label, use:
MVKL label
MVKH label
 
mikedunn


nonverbal <s...@msa.hinet.net> wrote:
I link my asm and c.
CCS tell me some errors---->"c:\ti\c6000\cgtools\bin\cl6x" -@"Debug.lkf"

>> error: relocation overflow occured at address 0x00000014 in
section '.text'
of input file 'J:\DSP\ga01\Debug\sind.obj'. The 32-bit
relocated
address 0x80000680 is too large to encode in the 16-bit
signed
field. The value was truncated. You may need to add a
mask to the
assembly instruction or use other target specific
assembly features
if you really only need the lowest 16 bits of this symbol
my assembly file is-------->>

.def _sind
.global _sintable ;60*1 table
.global _sintmp ;2*1
matrix for delay
k .float 1.98904
.text
_sind: MVK 1,A0
INTSP A0,A0
|| MVK _sintable,A2
|| MVK _sintmp,B2
MVK k,B4
LDW *B4,B0
|| MVK 60,A1
LOOP: SUB A1,1,A1
|| LDW *B2,B5
LDW *+B2[1],A5
NOP 4
STW B5,*+B2[1]
|| MPYSP B0,B5,B4
NOP 3
SUBSP B4,A5,A5
NOP 3
ADDSP A5,A0,A5
NOP 3
STW A5,*B2
|| MVK 0,A0
[A1]STW A5,*A2++
NOP 4
[A1]B LOOP
NOP 5
.end

Is there any error in my assembly ?
_____________________________________




(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )