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

small changes - larger aggravation --

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



Joined: 20 Nov 2007
Posts: 2128
Location: albany ny

View user's profile Send private message AIM Address

small changes - larger aggravation --
PostPosted: Tue Jan 03, 2012 4:35 pm     Reply with quote

post install of 4.128 - command line version-
i don't know if i should laugh or cry.

suddenly in this version - the extension ".c" is explicit .....
as in the full source file name tagged with .C is required to compile.
( it didna used to be that way - but now - an improvement ??)

Another weird thing that is inscrutable and a real PITA

WHY would they change the FUSES in an older device file?

the 4.085 device files for the 18f4525
( of which i just ran afoul) define BORV28 as a valid fuse

Now in the "new improved" device header - ? only BORV27
is acceptable.

am i simply not in tune with the reason why header file content should suddenly need to be different?

I am getting a very bad feeling about how fuses are handled --
as altering long stable, defined - text descriptors does NOT seem like a clever way to advance usability, especially if i have to edit old files for bloody FUSES!!!

i suddenly realize the "misery pill" i have taken in order to compile for some new 18xxK parts and the feeling is a tad less than wonderful.
temtronic



Joined: 01 Jul 2010
Posts: 9152
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Tue Jan 03, 2012 8:16 pm     Reply with quote

There's something to be said about 'NOT" upgrading ! Whether it's hardware or software, I've found it's best to work with what you KNOW is good and solid and NOT take the 'Upgrade train'.
Just because it's 'new', 'more features','faster','better',etc. doesn't mean it really is, in the long run.
Having to debug 'this worked' before version xxx or 'that pin' used to do this...is a huge loss of time and money.
I feel your pain. Yeesh, I lost all of today(14 hrs) trying to get a Vinculum to be both 'host' and 'device'. Yes, technically possible, but I ain't got microscopes for eyes to tie a resistor to one of the 44 pins that's thinner than a human hair!
Yup, guess I'm getting old and losing patience on this microSMD stuff.
asmboy



Joined: 20 Nov 2007
Posts: 2128
Location: albany ny

View user's profile Send private message AIM Address

PostPosted: Wed Jan 04, 2012 11:09 am     Reply with quote

more of what i mean about fuses
Code:

CCS PCH C Compiler, Version 4.128       03-Jan-12 18:19

0000:  GOTO   01A4
.................... 
.................... 
.................... #include <18f2450.h>
.................... //////// Standard Header file for the PIC18F2450 device ////////////////
.................... #device PIC18F2450
.................... #list
.................... 
.................... 
.................... #Fuses HS,NOFCMEN,NOIESO,PUT,BROWNOUT,BORV28,NOVREGEN,NOWDT,
.................... #Fuses NOPBADEN,NOLPT1OSC,NOMCLR,NOSTVREN,NOLVP,NODEBUG,NOPROTECT_0HIGH,
.................... #Fuses NOPROTECT_1,NOCPB,NOWRT,NOWRT1,NOWRTC,NOWRTB,NOEBTR,NOEBTRB,
.................... 


0232:  SLEEP

Configuration Fuses:
   Word  1: 0C3F   PLL12 CPUDIV4 USBDIV HS NOFCMEN NOIESO
   Word  2: 1E16   PUT BROWNOUT BORV28 NOVREGEN NOWDT WDT32768
   Word  3: 0000   NOPBADEN NOLPT1OSC NOMCLR
   Word  4: 0088   NOSTVREN NOLVP BBSIZ2K NOXINST NODEBUG
   Word  5: 4003   NOPROTECT_0HIGH NOPROTECT_1 NOCPB
   Word  6: 6003   NOWRT NOWRT1 NOWRTC NOWRTB
   Word  7: 4002   NOEBTR NOEBTRB


needless to say with these settings RS232 - use delay ,
and calculated timer rollovers && delays etc are trashed.
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Thu Jan 05, 2012 2:23 pm     Reply with quote

Are you saying that you changed from V4.078 to V4.128? A number of compiler changes has been accumulated through the years...
asmboy



Joined: 20 Nov 2007
Posts: 2128
Location: albany ny

View user's profile Send private message AIM Address

PostPosted: Thu Jan 05, 2012 2:39 pm     Reply with quote

4.085 actually
but the changes i NEED were new chip support -
finding a count-zero bug in array indices is not fun -
and what i was bitching about was not liking
changed params in old header files - that
break how fuses are interpreted in teh newer version ;-((

i think #fuses is one of the WEAKEST - most poorly
documented parts of the CCS compiler -

what i would LOVE to see is an expert setting like this:

i would prefer to leave out #fuses statements
and spec this as valid

#FUSEREG 0x30001 0x3A
#FUSEREG 0x30002 0x03

etc etc

i bet it can be done w/o a special #directive - SO
if the wiser heads here can pont the way - i would be grateful
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Thu Jan 05, 2012 2:49 pm     Reply with quote

The CCS manual says this:
Quote:

To manually set the fuses in the output files use:
#FUSES 1 = 0xC200 // sets config word 1 to 0xC200

Look in the #fuses section:
http://www.ccsinfo.com/downloads/ccs_c_manual.pdf
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