| View previous topic :: View next topic | 
	
	
		| Author | Message | 
	
		| xsnake 
 
 
 Joined: 02 May 2008
 Posts: 2
 
 
 
			    
 
 | 
			
				| Problems with fuses |  
				|  Posted: Fri May 02, 2008 5:37 am |   |  
				| 
 |  
				| Hello, I've got an issue regarding fuses. Simple created new project using pcwhd 4.068 (i guess this issue was in earlier versions), then i've changed NOWDT to WDT and NOPUT to PUT, but there nothing has changed in lst file (and inside flashed pic configuration words as well). Source:
 
 #include <18F6722.h>
 #device ICD=TRUE
 #device adc=8
 #use delay(clock=16000000)
 
 #FUSES WDT                    //No Watch Dog Timer
 #FUSES WDT128                   //Watch Dog Timer uses 1:128 Postscale
 #FUSES HS                       //High speed Osc (> 4mhz)
 #FUSES IESO                     //Internal External Switch Over mode enabled
 #FUSES BROWNOUT                 //Reset when brownout detected
 #FUSES BORV25                   //Brownout reset at 2.5V
 #FUSES PUT                    //No Power Up Timer
 #FUSES NOCPD                    //No EE protection
 #FUSES STVREN                   //Stack full/underflow will cause reset
 #FUSES NOPROTECT                //Code not protected from reading
 #FUSES NODEBUG                  //No Debug mode for ICD
 #FUSES NOLVP                      //Low Voltage Programming on B3(PIC16) or B5(PIC18)
 #FUSES NOWRT                    //Program memory not write protected
 #FUSES NOCPB                    //No Boot Block code protection
 #FUSES NOEBTRB                  //Boot block not protected from table reads
 #FUSES NOEBTR                   //Memory not protected from table reads
 #FUSES NOWRTD                   //Data EEPROM not write protected
 #FUSES NOWRTC                   //configuration not registers write protected
 #FUSES NOWRTB                   //Boot block not write protected
 #FUSES FCMEN                    //Fail-safe clock monitor enabled
 #FUSES LPT1OSC                  //Timer1 configured for low-power operation
 #FUSES MCLR                     //Master Clear pin enabled
 #FUSES XINST                    //Extended set extension and Indexed Addressing mode enabled
 #FUSES BBSIZ1K                  //1K words Boot Block size
 
 #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
 
 
 End of generated lst file:
 
 Configuration Fuses:
 Word  1: C200   HS IESO FCMEN
 Word  2: 0E19   NOBROWNOUT WDT128 NOWDT BORV25 NOPUT
 Word  3: 85F3   CCP2C1 LPT1OSC MCLR
 Word  4: 0000   NOSTVREN DEBUG NOLVP NOXINST BBSIZ1K RESERVED
 Word  5: C0FF   NOPROTECT NOCPD NOCPB
 Word  6: E0FF   NOWRT NOWRTD NOWRTC NOWRTB
 Word  7: 40FF   NOEBTRB NOEBTR
 
 Data from hex file:
 :02000004 0030 CA
 :0E000000 00C2 190E F385 0000 FFC0 FFE0 FF40 B4
 
 so @300000 we have exactly same fuses:
 C200 0E19 85F3 0080 C0FF E0FF 40FF - 7 config words, they were read by ICD interface program (why 0080 instead of 0000 in hex - the second question).
 But as fact NOPUT and NOBROWNOUT and NOWDT were compiled instead of having them PUT BROWNOUT WDT...
   
 can anybody help me with solving this issue?
 
 Thanks in advance!
 
 
 PS: - i've got it - these fuses were marked as Force fuses for ICD debugging usage (when compiled with ICD=TRUE). When there is no ICD=TRUE, all fuses become ok.
 |  | 
	
		|  | 
	
		| ckielstra 
 
 
 Joined: 18 Mar 2004
 Posts: 3680
 Location: The Netherlands
 
 
			    
 
 | 
			
				|  |  
				|  Posted: Fri May 02, 2008 7:31 am |   |  
				| 
 |  
				| You already figured out it has to do with the ICD=TRUE setting. 
 Set this to NOXINST. The wizard is a bit optimistic here as the compiler does not yet support the Extended Instructions and enabling these might cause erratic program behaviour. 	  | Code: |  	  | #FUSES XINST //Extended set extension and Indexed Addressing mode enabled | 
 |  | 
	
		|  | 
	
		| xsnake 
 
 
 Joined: 02 May 2008
 Posts: 2
 
 
 
			    
 
 | 
			
				|  |  
				|  Posted: Fri May 02, 2008 8:42 am |   |  
				| 
 |  
				| yep, thanks |  | 
	
		|  | 
	
		|  |