CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

I am sick of errors with PCD after version 4.099

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
selsen



Joined: 16 Mar 2007
Posts: 9

View user's profile Send private message

I am sick of errors with PCD after version 4.099
PostPosted: Tue Mar 09, 2010 12:57 am     Reply with quote

I compiled same project with 4.099 and 4.105 here is the difference in lst files:

4.099:
Code:

....................    CHK=seqread_ext_eeprom(0,STORAGE,EEPEND);
*
147AC:  CLR     17A6
147AE:  CLR     17A8
147B0:  MOV     #800,W4
147B2:  MOV     W4,17AA
147B4:  MOV     #325,W4
147B6:  MOV     W4,17AC
[b]147B8:  CALL    14698[/b]
147BC:  MOV     W0,17A4
///////////////////////////////////////////////////////////////////////////////////
.................... int16 seqread_ext_eeprom(int32 address, int8* p, int16 bytes) 
.................... {
*
1465E:  MOV     W5,[W15++]
14660:  MOV     W6,[W15++]
....................    int16 i,CHK;
....................     
....................    CHK=0;
14662:  CLR     17B0
.................... 
....................    i2c_start();
....................    if(CHK!=read_e2prom16(CHKSUM1))


4.105:
Code:

....................    CHK=seqread_ext_eeprom(0,STORAGE,EEPEND);
*
14772:  CLR     17A6
14774:  CLR     17A8
14776:  MOV     #800,W4
14778:  MOV     W4,17AA
1477A:  MOV     #325,W4
1477C:  MOV     W4,17AC
[b]1477E:  CALL    1300E[/b]
14782:  MOV     W0,17A4
///////////////////////////////////////////////////////////////////////////////////
.................... int16 seqread_ext_eeprom(int32 address, int8* p, int16 bytes) 
.................... {
*
1465E:  MOV     W5,[W15++]
14660:  MOV     W6,[W15++]
....................    int16 i,CHK;
....................     
....................    CHK=0;
14662:  CLR     17B0
.................... 
....................    i2c_start();

The device is PIC24FJ256GB108.
This code has bootloader #0x400-#13FF
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Tue Mar 09, 2010 12:31 pm     Reply with quote

I guess, the bug has been already introduced between V4.100 and V4.104. There have been more reports of erratic
function addressing with recent compiler versions. By chance, I didn't yet experience the problem. There are however newly
introduced bugs respectively unexpected and unwanted (as well as unsaid!) changes to PCD in V4.105. I just had to
complain about at CCS.

Quote:
my existing applications for PIC24FJ128GA106 don't compile
any more, because all WPFPx and NOWPFx fuses have been
removed from the device file. There's no respective info in "recent
changes".

I have to fall back to the V4.104 device file for the time being,
because I'm not motivated to reproduce all fuse definitions in the
device editor tool. I guess, you have been finally aware of
inconsistencies with the previous memory protection fuse
definition, that have been reported since long, but the fuses have
been working in my application though.
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Tue Mar 09, 2010 4:04 pm     Reply with quote

CCS has answered my support request considerably fast (after 2 1/2 hours). It turns out, that a new syntax
for PIC24 fuses has been introduced silently. It allows to set a configuration word bit field in a single expression.

To protect code pages 0 to 3, the new setting is
Code:
#FUSES WPDIS, WPEND_HIGH, NOWPFP=3

From V4.099 to V4.104, it was
Code:
#FUSES WPDIS, WPEND_HIGH, WPFP0,WPFP1, NOWPFP=2,NOWPFP3,NOWPFP4,NOWPFP5,NOWPFP6,NOWPFP7,NOWPFP8

Up to V4.098, the necessary setting has been
Code:
#FUSES WPDIS, WPEND_HIGH, WPFP3

Because the new syntax removes the inconsistencies of previous versions, it's hopefully stable now.
Thanks for the fast response, the change should have been mentioned in the recent changes and readme.txt, however.

P.S.: The version dependant fuses settings can be achieved best with
Code:
#IF  getenv("VERSION")>=4.105
#ELIF getenv("VERSION")>=4.099
#ELSE
#ENDIF
LostInSpace



Joined: 09 Mar 2010
Posts: 13

View user's profile Send private message

PostPosted: Tue Mar 09, 2010 4:58 pm     Reply with quote

Well - they do introduce errors, but as has been my experience also they (CCS) do respond to serious errors pretty fast.
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Tue Mar 09, 2010 5:23 pm     Reply with quote

Quote:
they (CCS) do respond to serious errors pretty fast

I don't want to contradict, it's basically good.

Errors regarded not so serious apparently may have to wait longer. I'm waiting for some PCD bug fixes more
than a year. The support status is staying at "A priority has not yet been determined for this issue".
selsen



Joined: 16 Mar 2007
Posts: 9

View user's profile Send private message

PostPosted: Wed Mar 10, 2010 12:18 am     Reply with quote

They have to work on the PCD compiler there are so many empty spots. First I need to use the compiler safely. This is not a game, we are making money with this. Otherwise I will use other compiler or other MCU maybe.
jbmiller



Joined: 07 Oct 2006
Posts: 73
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Wed Mar 10, 2010 6:47 am     Reply with quote

OK, so the compiler has a few issues, but there are other options.
You can not upgrade from a known good version.
You can migrate to another chip, if it's a hardware issue, either PIC or other family.
And of course you could go back to cutting pure assembler code.
As one who grew up on PDP-8's with papertape readers, I can appreciate
the time,effort and money that CCS has into every product they sell and
support.You get a great bang for the buck from where I sit.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group