cancel
Showing results for 
Search instead for 
Did you mean: 

COSMIC Compiler STM8 Crash

mehta.vishal
Associate II

hi,

My project used to compile using previous cosmic_32k limited version compiler. It's license got expired on 7th June 2018.

After installing new compiler,

when i compile, the " cxstm8 program crash " dialog box opens in windows 8.1.

then, i have manually executed the instructions to compile my project.

  1. "cpstm8 -o\svk.cx1 -i"C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8\Hstm8" -i "C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8\HSTM8" -p -u -pb -hmods0.h -l -d"__VERS__=\"V4.4.7\"" main.c"

RESULT: It has sucessfully created svk.cx1file.

2. then, "cgstm8 -o\svk.cx2 -l \svk.cx1"

after this instruction, I get "close program" dialog box in windows 8.

It has created the svk.cx2 file, but the file is incomplete. the last few line of the svk.cx2 files are

L176:

   .source   "test_gsmbase.c:294"

   tnz   _status

   jreq   L576

   .source   "test_gsmbase.c:296"

   mov   _intra_fu

It seems, because of cgstm8 crash, the file is incomplete.

I have tried every options with cpstm8 and cgstm8 but, it seems their is problem with cgstm8 file.

can anyone help,

1 REPLY 1
mehta.vishal
Associate II

cosmic compiler support as found out the problem with code generator, and following is the reply from them, now the problem has been solved.

Dear Sir,

The problem has been identified on lines 6935 and 6970. The following construct:

timer_data[delete_timer_data_count-1].status &= (u8)~status;

crashes the current code generator when combining an @eeprom index array with the &= operator.

The problem will be fixed in a next release and in the meantime, you must use an auxiliary pointer in such a way:

     {

     u8 *p;

p = &timer_data[delete_timer_data_count-1].status;

*p &= (u8)~status;

}

We hope that this will help.

Regards,

STM8 Team

COSMIC Software France

Supporting Embedded Innovation since 1983

Tel : +33 (0)1 43 99 53 90

Fax: +33 (0)1 43 99 14 83

Web site: www.cosmicsoftware.com

P Only print this mail if necessary

P Afin de contribuer au respect de l'environnement, merci de n'imprimer ce courriel que si nécessaire