A veces hay un problema con un archivo enlazador o un archivo de inclusión. En cualquier caso, la sintaxis que está tratando de usar no permite hacer buenos comentarios sobre lo que significa exactamente cada una de las configuraciones, y no da ninguna indicación de qué otras opciones podrían haber sido que no eligió.
Siempre configuro los bits de configuración en la fuente del ensamblador y documento cada bit. A continuación se muestra una sección de uno de mis proyectos actuales que utiliza el 33EP512GM604, que es casi el mismo chip. Esta sección siempre se vuelve a escribir para cada proyecto, y tendría que ser inspeccionada cuidadosamente si el proyecto fue movido a una parte diferente. Por lo tanto, no estoy tan preocupado por la ubicación de inicio fija, aunque esa no fue mi primera opción. Recuerdo vagamente que me encontré con un problema de vinculador usando las directivas predefinidas, así que establezca la dirección y comencé a escribir las palabras de la memoria del programa. De cualquier manera, el punto es cómo cada bit se documenta cuidadosamente, qué se eligió y alguna idea de qué otras opciones podrían haber sido.
;*******************************************************************************
;
; Static processor configuration settings.
;
.section .configbits, code, address(0x557EC)
.pword 0xFFFFFF ;reserved
.pword 0xFFFFFF ;reserved
.pword 0b111111111111111111001111 ;FICD
; 1111111111111111-------- unused, all 1s makes NOP instruction
; ----------------1------- reserved, must be set to 1
; -----------------1------ unused
; ------------------0----- disable JTAG
; -------------------0---- reserved, must be set to 0
; --------------------1--- reserved, must be set to 1
; ---------------------1-- unused
; ----------------------11 ICD interface uses PGEC1/PGED1
.pword 0b111111111111111100111111 ;FPOR
; 1111111111111111-------- unused, all 1s makes NOP instruction
; ----------------00------ WDT window is 75% of period
; ------------------1----- IIC2 uses SDA2/SCL2 pins
; -------------------1---- IIC1 users SDA1/SCL1 pins
; --------------------1--- enable brownout reset
; ---------------------111 unused
.pword 0b111111111111111101111111 ;FWDT
; 1111111111111111-------- unused, all 1s makes NOP instruction
; ----------------0------- WDT not always enabled
; -----------------1------ WDT in non-window mode
; ------------------1----- enable PLL lock
; -------------------1---- WDT prescalser 128, not 32
; --------------------1111 WDT postscaler to max of 32768
.pword 0b111111111111111101011110 ;FOSC
; 1111111111111111-------- unused, all 1s makes NOP instruction
; ----------------01------ clock switching enabled, failsafe clk disabled
; ------------------0----- allow multiple PPS changes
; -------------------11--- unused
; ---------------------1-- not used with external crystal oscillator
; ----------------------10 primary oscillator mode is HS
.pword 0b111111111111111100111010 ;FOSCSEL
; 1111111111111111-------- unused, all 1s makes NOP instruction
; ----------------0------- start with selected osc mode, not FRC
; -----------------0------ don't require key sequence for PWM registers
; ------------------111--- unused
; ---------------------010 start with primary osc, not PLL
.pword 0b111111111111111111111111 ;FGS
; 1111111111111111-------- unused, all 1s makes NOP instruction
; ----------------111111-- unused
; ----------------------1- disable user memory code protection
; -----------------------1 disable user memory write protection
.pword 0xFFFFFF ;reserved
.pword 0xFFFFFF ;reserved