Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).
|
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 ? |
|
|
|
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 |
|
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. |