Once again I seen to be stuck in a state of cluelessness. 
I'm trying to program a 16F887 and my PICkit2 keeps tossing me this message:
"Warning: Some configuration words not in hex file"
Here's my configuration line:
@ __CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
I have commented out the lines in the 16F887.INC file so there's no conflict there.
My program actually seems to work OK, but I don't understand the PICkit error message.
I'm also confused about why the configuration words don't really match the words in the M16F88X.INC file....
Here's the relevant bits of M16F88X.INC. Note that it clearly lists the 16F887 as one of it's happy devices. But if I spell some of the words the way it's done there it gets unhappy with me.
Code:
;****************************************************************************
; PIC16F88x Family Header
; Copyright 1995, 2007 microEngineering Labs, Inc.
;****************************************************************************
NOLIST
; *** Default Device Specifications
DEVICE 3FFF3FFFh ; All Fuse Bits On
DEVICE 50101004h ; 14-Bit, 8K Code, 256 EE, ID = 4
; *** DEVICE Device Definitions
PIC16F882 equ 50040802h ; 14-Bit, 2K Code, 128 EE, ID = 2
PIC16F883 equ 50081003h ; 14-Bit, 4K Code, 256 EE, ID = 3
PIC16F884 equ 50081003h ; 14-Bit, 4K Code, 256 EE, ID = 3
PIC16F886 equ 50101004h ; 14-Bit, 8K Code, 256 EE, ID = 4
PIC16F887 equ 50101004h ; 14-Bit, 8K Code, 256 EE, ID = 4
; *** DEVICE Fuses Definitions
EXTRC equ 3FF80007h ; XX XXXX XXXX X111
EXTRC_OSC_CLKOUT equ 3FF80007h ; XX XXXX XXXX X111
EXTRCIO equ 3FF80006h ; XX XXXX XXXX X110
EXTRC_OSC_NOCLKOUT equ 3FF80006h ; XX XXXX XXXX X110
EXTRC_OSC equ 3FF80006h ; XX XXXX XXXX X110
INTOSC equ 3FF80005h ; XX XXXX XXXX X101
INTRC_OSC_CLKOUT equ 3FF80005h ; XX XXXX XXXX X101
INTOSCIO equ 3FF80004h ; XX XXXX XXXX X100
INTRC_OSC_NOCLKOUT equ 3FF80004h ; XX XXXX XXXX X100
INTRC_OSC equ 3FF80004h ; XX XXXX XXXX X100
EC_OSC equ 3FF80003h ; XX XXXX XXXX X011
HS_OSC equ 3FF80002h ; XX XXXX XXXX X010
XT_OSC equ 3FF80001h ; XX XXXX XXXX X001
LP_OSC equ 3FF80000h ; XX XXXX XXXX X000
WDT_ON equ 3FF70008h ; XX XXXX XXXX 1XXX
WDT_OFF equ 3FF70000h ; XX XXXX XXXX 0XXX
PWRT_OFF equ 3FEF0010h ; XX XXXX XXX1 XXXX
PWRT_ON equ 3FEF0000h ; XX XXXX XXX0 XXXX
MCLR_ON equ 3FDF0020h ; XX XXXX XX1X XXXX
MCLR_OFF equ 3FDF0000h ; XX XXXX XX0X XXXX
PROTECT_ON equ 3FBF0000h ; XX XXXX X0XX XXXX
PROTECT_OFF equ 3FBF0040h ; XX XXXX X1XX XXXX
CPD_ON equ 3F7F0000h ; XX XXXX 0XXX XXXX
CPD_OFF equ 3F7F0080h ; XX XXXX 1XXX XXXX
BOD_ON equ 3CFF0300h ; XX XX11 XXXX XXXX
BOD_NSLEEP equ 3CFF0200h ; XX XX10 XXXX XXXX
BOD_SBODEN equ 3CFF0100h ; XX XX01 XXXX XXXX
BOD_OFF equ 3CFF0000h ; XX XX00 XXXX XXXX
IESO_ON equ 3BFF0400h ; XX X1XX XXXX XXXX
IESO_OFF equ 3BFF0000h ; XX X0XX XXXX XXXX
FCMEN_ON equ 37FF0800h ; XX 1XXX XXXX XXXX
FCMEN_OFF equ 37FF0000h ; XX 0XXX XXXX XXXX
LVP_ON equ 2FFF1000h ; X1 XXXX XXXX XXXX
LVP_OFF equ 2FFF0000h ; X0 XXXX XXXX XXXX
; *** DEVICE2 Fuses Definitions
BOR40V equ 3EFF0100h ; XX XXX1 XXXX XXXX
BOR21V equ 3EFF0000h ; XX XXX0 XXXX XXXX
WRT_OFF equ 39FF0600h ; XX X11X XXXX XXXX
WRT_256 equ 39FF0400h ; XX X10X XXXX XXXX
WRT_1FOURTH equ 39FF0200h ; XX X01X XXXX XXXX
WRT_HALF equ 39FF0000h ; XX X00X XXXX XXXX
So, note the differences in my config line, vs the .INC file, like MCLRE_ON instead of MCLR_ON, and PWRTE_ON vs PWRT_ON, and PROTECT_ON vs CP_ON.
If I use them like they are shown in the .INC file, then I get error messages about "Symbol not previously defined". I
What's going on? Am I using the wrong .INC file somehow? It clearly has PIC16F887 listed as one of it's happy devices.
And yes, the little box in the upper left corner of MCS definitely says "16F887"
Could someone please tell me what I'm doing wrong before my head explodes....
Thanks much for any insight
steve
Bookmarks