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.

when built project under CCS5: INTERNAL ERROR: no match for ASG

Other Parts Discussed in Thread: MSP430FG4619

I use CCS5.1, my microprocessor is MSP430FG4619, and I’m trying to convert my project from IAC to CCS. When I built the follow error is come:

**** Build of configuration Debug for project AdEM2 ****

"C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all

'Building file: ../Adem-AT-RTD.c'

'Invoking: MSP430 Compiler'

"C:/ti/ccsv5/tools/compiler/msp430_4.1.2/bin/cl430" -vmspx --abi=eabi -O2 --opt_for_speed=0 -g --include_path="C:/ti/ccsv5/ccs_base/msp430/include" --include_path="C:/ti/ccsv5/tools/compiler/msp430_4.1.2/include" --advice:power="all,-1,-2,-3,-4.1,-5,-10,-13,-14" --multibyte_chars --define=__MSP430FG4619__ --diag_warning=225 --display_error_number --printf_support=full --preproc_with_compile --preproc_dependency="Adem-AT-RTD.pp"  "../Adem-AT-RTD.c"

>> ../Adem-AT-RTD.c, line 4047: INTERNAL ERROR: no match for ASG

 

This may be a serious problem.  Please contact customer support with a

description of this problem and a sample of the source files that caused this

INTERNAL ERROR message to appear.

 

Cannot continue compilation - ABORTING!

>> Compilation failure

gmake: *** [Adem-AT-RTD.obj] Error 1

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

**** Build Finished ****

The problem code follow, this is line 4047 E2_WR_BYTE(E2Adrs,ByteEE);      this is subroutine in other file that is wrote by assembly. Is it because of “ LongLong”  date type ? and this “long long ” has to transfer to assembly?

 

void E2_WR_LLong(unsigned long E2Adrs,long long DataEE)

{

  unsigned char ByteEE;

 

  ByteEE = (char)DataEE;

  E2_WR_BYTE(E2Adrs,ByteEE);      // low byte

  ByteEE = (char)(DataEE>>8);

  E2_WR_BYTE(E2Adrs+1,ByteEE);    // mid1 byte

  ByteEE = (char)(DataEE>>16);

  E2_WR_BYTE(E2Adrs+2,ByteEE);    // mid2 byte

  ByteEE = (char)(DataEE>>24);

  E2_WR_BYTE(E2Adrs+3,ByteEE);    // mid3 byte

  ByteEE = (char)(DataEE>>32);

  E2_WR_BYTE(E2Adrs+4,ByteEE);    // high byte

}