En RESET estas Words se copian automáticamente en RAM, en registros para configuración, mapeados desde la dirección 0x300000 hasta la 0x300007, se los puede leer pero no escribir, incluso son esos (los de RAM) los valores que usa el micro para su configuración (si los valores en FLASH fueran cambiados en Runtime por ejemplo en una self-write, ese cambio no tendría efecto hasta que no suceda un RESET y la consiguiente copia en RAM)
- CONFIG1 0x300000 CONFIG1L
0x300001 CONFIG1H
- CONFIG2 0x300002 CONFIG2L
0x300003 CONFIG2H
- CONFIG3 0x300004 CONFIG3L
0x300005 CONFIG3H
- CONFIG4 0x300006 CONFIG4L
0x300007 CONFIG4H
El seteo de FCW conviene que figure en el source del proyecto para que contenga la configuración de acuerdo a su hardware y no sea necesario almacenar esa información aparte.
Para especificar esta información de configuración en el source se utilizan directivas que son diferentes (según el compilador)
-
Para el C18 luce de esta manera
#pragma config CPUDIV = NOCLKDIV
#pragma config USBDIV = OFF
#pragma config FOSC = HS
#pragma config PLLEN = ON
...
Para el CCS es algo así
(No me gusta este compilador porque se sale mucho del estándar de C, pero es una opinión personal)
#FUSES NOWDT
#FUSES WDT128
#FUSES HS
#FUSES NODEBUG
...
Para el HI-TECH PICC18 se parece a esto
__CONFIG(1, DEBUG_OFF & XINST_OFF & STVREN_ON & PLLDIV_1 );
__CONFIG(2, IESO_OFF & FCMEN_OFF & LPT1OSC_ON );
__CONFIG(3, DSWDTPS_8192 & DSWDTEN_OFF & DSBOREN_OFF);
__CONFIG(4, WPDIS_OFF);
¿Dónde encuentro los nombres de esas constantes?
En el compilador HI-TECH los valores de la constantes están en :
C:\Archivos de programa\HI-TECH Software\PICC-18\9.80\docs\18f26j50.html
(para windows en español y versión 9.80)
Se usan con la directiva
#pragma config
(Que es compatible con C18 pero también con la nueva versión de HI-TECH)
Esto es porque Microchip compró la empresa HI-TECH, los compiladores HI-TECH y C18 se fusionaron en un nuevo compilador llamado XC. Por lo que vi de momento el "nuevo" compilador no es más que el HI-TECH con compatibilidad agregada para C18, para nuevos proyectos (hoy 2012) aconsejan usar HI-TECH, ya que los XC van a ser backward compatibles con ese compilador.