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.

Compiler/TMS320LF2407A: Compiler/TMS320LF2407A:

Part Number: TMS320LF2407A


Tool/software: TI C/C++ Compiler

I am in CCS3.3 with build tools 7.04 for the 2407a DSP. The code I am building was working code. I am trying to bring it under CCS3.3 and build with tools version 7.04 (both newer). 

This code I am building has a ".vectors" section. This is conflicting with the "vectors" section in the RTS (rts.src). I get the link error "cannot allocate vectors in VECTORS". It looks like the linker put my ".vectors" in the *.map file and is also trying to fit "vectors" (from the RTS) into the same section, but it will not fit. I can see this in the *.map file that the two vector version are being put into the VECTORS section. How can I make my ".vectors" replace or override what is in the RTS library

Kevin

  • The linker does not bring in the code from the RTS library module vectors.obj by default.  There must be some reference from your code or build options to one of the symbols defined in that file.  If we can figure out where that reference comes from, we can probably remove it.

    Here is the source file vectors.asm ...

    ********************************************************************************
    * vectors.asm  v7.01                                                           *
    * Copyright (c) 1988-1996 Texas Instruments Inc.                               *
    ********************************************************************************
            .global _c_int0, RESET
    ;
    ;  If additional interrupts have C interrupt handlers (in addition to the 
    ;  RESET vector), add the appropriate branches to the table below as indicated
    ;  in the comment for each vector.  Vectors that have no interrupt routine
    ;  should be handled with EINT and RET instructions.
    ;
            .asect  "vectors",0
    
    RESET   B       _c_int0
     
    INT0    EINT               ; B  _c_int1
            RET
     
    INT1    EINT               ; B  _c_int2
            RET
     
    INT2    EINT               ; B  _c_int3
            RET
     
            .space  (018h-$)*16
     
    TINT    EINT               ; B  _c_int4
            RET
     
    RINT    EINT               ; B  _c_int5
            RET
     
    XINT    EINT               ; B  _c_int6
            RET
     
            .space  (020h-$)*16
            .end

    The symbols defined in vectors.asm are the names written at the very beginning of the line.  While it could be any of them, RESET seems most likely.  

    Please show exactly how the linker is invoked.  Please copy-n-paste the text, and do not use a screen shot.  Please attach the linker command file to your next post.  So the forum will accept it, add the file extension .txt to it.

    Thanks and regards,

    -George