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.

CCS/MSP430F2616: MSP430F2516

Part Number: MSP430F2616

Tool/software: Code Composer Studio

Dear James Evans san

 

  1. Our case

    When under Windows7/CCS4, program is well Built/Debagged.

    But when under Windows10/ CCS9, program built/Debag failed as follows;.

 

  1. Under Windows10/ CCS9, failed screen shot was as follows:

    There is error at line 1640.

Sincerely yours

Ren ISHINO

 

(Error massage)

 

 

 

(Console data)

 

**** Build of configuration Debug for project antisnowqwide ****

 

"C:\\ti\\ccs930\\ccs\\utils\\bin\\gmake" -k all

Building file: "../antisnowqwide.asm"

Invoking: MSP430 Compiler

"C:/ti/ccs930/ccs/tools/compiler/ti-cgt-msp430_18.12.4.LTS/bin/cl430" -vmspx -g -O0 --define=__MSP430F2616__ --include_path="C:/ti/ccs930/ccs/ccs_base/msp430/include" --include_path="C:/ti/ccs930/ccs/tools/compiler/ti-cgt-msp430_18.12.4.LTS/include" --diag_warning=225 --printf_support=minimal --preproc_with_compile --preproc_dependency="antisnowqwide.d_raw" "../antisnowqwide.asm"

1 Assembly Error, 7 Assembly Warnings

>> Compilation failure

subdir_rules.mk:9: recipe for target 'antisnowqwide.obj' failed

"../antisnowqwide.asm", WARNING! at line 552: [W0005] NOP required before set of

                                                     GIE bit.

                bis     #GIE,SR                    ; enable maskable interrupt

"../antisnowqwide.asm", REMARK   at line 552: [R0001] After symbol substitution

                                                     the line became:

                bis     #(0x0008),SR                      ; enable maskable interrupt

"../antisnowqwide.asm", WARNING! at line 552: [W0005] NOP required after set or

                                                      clear of GIE bit.

                bis     #GIE,SR                    ; enable maskable interrupt

"../antisnowqwide.asm", REMARK   at line 552: [R0001] After symbol substitution

                                                     the line became:

                bis     #(0x0008),SR                      ; enable maskable interrupt

"../antisnowqwide.asm", WARNING! at line 1138: [W0005] NOP required after set or

                                                       clear of GIE bit.

        buzon   dint

"../antisnowqwide.asm", WARNING! at line 1639: [W1500] warning: relocation

                                                       template 277 not found;

                                                       returning OFR_INVALID

        Prog_L2     mov.w   @R11+,0xFFE-FLbuf(R11)   ; Copy Flbuf to Seg D

"../antisnowqwide.asm", WARNING! at line 1639: [W1500] warning: relocation

                                                      template 275 not found;

                                                       returning OFR_INVALID

        Prog_L2     mov.w   @R11+,0xFFE-FLbuf(R11)   ; Copy Flbuf to Seg D

"../antisnowqwide.asm", WARNING! at line 1639: [W1500] warning: relocation

                                                       template 259 not found;

                                                       returning OFR_INVALID

        Prog_L2     mov.w   @R11+,0xFFE-FLbuf(R11)   ; Copy Flbuf to Seg D

"../antisnowqwide.asm", ERROR!   at line 1640: [E0200] Unable to resolve this

                                                       relocatable expression;

                                                      relocation support for

                                                       arbitrary expressions is

                                                       not available in the

                                                       C6000 EABI

                   cmp.w   #FLbuf+0x40,R11             ;

"../antisnowqwide.asm", WARNING! at line 1640: [W1500] warning: relocation

                                                       template 280 not found;

                                                      returning OFR_INVALID

                   cmp.w   #FLbuf+0x40,R11             ;

Errors in Source - Assembler Aborted

gmake: *** [antisnowqwide.obj] Error 1

gmake: Target 'all' not remade because of errors.

 

**** Build Finished ****

  • I see three different lines in the assembly file get diagnostics.

    Two them appear to have the same issue.  For this line ...

    ISHINO ren said:
                    bis     #GIE,SR                    ; enable maskable interrupt

    ... and this line ...

    ISHINO ren said:
           buzon   dint

    Please see this discussion in this forum thread.

    For this line ...

    ISHINO ren said:
           Prog_L2     mov.w   @R11+,0xFFE-FLbuf(R11)   ; Copy Flbuf to Seg D

    Because you previously built with CCSv4, which is quite old, it is likely you are changing from the older COFF ABI to the newer EABI.  Relocation expressions, such as 0xFFE-FLbuf, are not supported in EABI.  I could not find any MSP430 specific documentation on this point, but I did find this description of the issue for the C6000 device family.  While the low level details are different, the higher level explanation is the same.  You have to change this code to evaluate that expression at runtime.

    Thanks and regards,

    -George