| View previous topic :: View next topic | 
	
	
		| Author | Message | 
	
		| rwskinner 
 
 
 Joined: 08 Dec 2006
 Posts: 125
 Location: Texas
 
 
			    
 
 | 
			
				| New Compiler update - Fuses disappeared |  
				|  Posted: Mon Aug 30, 2010 8:49 pm |   |  
				| 
 |  
				| After the update today my code no longer compiles. Fuses for the 18F26J50 are gone.
 
 Primary  <- Missing
 PLLDIV5 <- Missing
 
 They were there a month ago because those fuses worked fine.
 I wonder why they were removed?
 
 I emailed support but they may or may not reply, if they do, it will take several days at the minimum.
 
 Richard
 |  | 
	
		|  | 
	
		| PCM programmer 
 
 
 Joined: 06 Sep 2003
 Posts: 21708
 
 
 
			    
 
 | 
			
				|  |  
				|  Posted: Mon Aug 30, 2010 9:19 pm |   |  
				| 
 |  
				| Look at the list of fuses at the top of the 18F26J50.h file. It looks like they changed it to PLL5.
 
 To replace PRIMARY, I would guess that you should use HSPLL or INTRC_PLL.
 
 To verify your changes, compile your program with the previous compiler
 version you were using.  Save the .LST file somewhere.  Then install the
 new version and change the fuses.  Compile again and compare the Hex
 values for the fuses given at the end of the .LST file, and make sure they
 are the same.  If not, change the fuses to some reasonable looking
 setting and try again until you get a match with the old values.
 |  | 
	
		|  | 
	
		| FvM 
 
 
 Joined: 27 Aug 2008
 Posts: 2337
 Location: Germany
 
 
			    
 
 | 
			
				|  |  
				|  Posted: Mon Aug 30, 2010 10:56 pm |   |  
				| 
 |  
				| Fortunately the CCS compiler allows version dependant defines, I have have a lot of them in my code to handle arbitrary changes to fuse naming. Sometimes they correct previous erronous fuse names, sometimes they seem just to follow a temper.
 
  	  | Code: |  	  | #IF  getenv("VERSION")>=4.087 #FUSES ICSP1
 #ELSE
 #FUSES ICS3
 #ENDIF
 #IF  getenv("VERSION")>=4.110
 #FUSES WDT128   //Watch Dog Timer PreScalar 1:128
 #ELSE
 #FUSES WPRES128
 #ENDIF
 | 
 In any case, you can review the "valid fuses" info of the compiler IDE. You can also edit the decoding of fuses in the
 Device Eidtor tool. Sometimes it's necessary, if a required fuse entry has completely vanished in a new compiler release.
 |  | 
	
		|  | 
	
		|  |