19.1 Device Configuration
In PIC32 devices, the configuration words select various device configurations that are set at device Reset prior to execution of any code. These values are available at the highest locations of the Boot Flash Memory (BFM) and since they are part of the program memory, are included in the programming file along with executable code and program constants. The names and locations of these configuration words are listed in Table 19-1 through Table 19-4.
Configuration Word | Physical Address |
---|---|
DEVCFG0 | 0x1FC02FFC |
DEVCFG1 | 0x1FC02FF8 |
DEVCFG2 | 0x1FC02FF4 |
DEVCFG3 | 0x1FC02FF0 |
Configuration Word | Physical Address |
---|---|
DEVCFG0 | 0x1FC00BFC |
DEVCFG1 | 0x1FC00BF8 |
DEVCFG2 | 0x1FC00BF4 |
DEVCFG3 | 0x1FC00BF0 |
On Power-on Reset (POR) or any Reset, the configuration words are copied from the Boot
Flash memory to their corresponding Configuration registers. A Configuration bit can
only be programmed = 0
(unprogrammed state = 1
).
During programming, a configuration word can be programmed a maximum of two times for PIC32MX devices and only one time for PIC32MZ, and PIC32MK family devices before a page erase must be performed.
After programming the configuration words, a device Reset will cause the new values to be loaded into the Configuration registers. Because of this, the programmer must program the configuration words just prior to verification of the device. The final step is programming the code protection configuration word.
These configuration words determine the oscillator source. If using the Two-Wire Enhanced ICSP mode the configuration words are ignored and the device will always use the FRC; however, in Four-Wire mode this is not the case. If an oscillator source is selected by the configuration words that is not present on the device after Reset, the programmer will not be able to perform Flash operations on the device after it is Reset. See the “Special Features” chapter in the specific device data sheet for details regarding oscillator selection using the configuration words.
Configuration Word(1) | Register Physical Address | |||
---|---|---|---|---|
Fixed Boot Region 1 | Fixed Boot Region 2 | Active Boot Alias Region(2) | Inactive Boot Alias Region(2) | |
Boot sequence number | 0x1FC4FFF0 | 0x1FC6FFF0 | 0x1FC0FFF0 | 0x1FC2FFF0 |
Code protection | 0x1FC4FFD0 | 0x1FC6FFD0 | 0x1FC0FFD0 | 0x1FC2FFD0 |
DEVCFG0 | 0x1FC4FFCC | 0x1FC6FFCC | 0x1FC0FFCC | 0x1FC2FFCC |
DEVCFG1 | 0x1FC4FFC8 | 0x1FC6FFC8 | 0x1FC0FFC8 | 0x1FC2FFC8 |
DEVCFG2 | 0x1FC4FFC4 | 0x1FC6FFC4 | 0x1FC0FFC4 | 0x1FC2FFC4 |
DEVCFG3 | 0x1FC4FFC0 | 0x1FC6FFC0 | 0x1FC0FFC0 | 0x1FC2FFC0 |
DEVCFG4(3) | 0x1FC4FFBC | 0x1FC6FFBC | 0x1FC0FFBC | 0x1FC2FFBC |
Alternate boot sequence number | 0x1FC4FF70 | 0x1FC6FF70 | 0x1FC0FF70 | 0x1FC2FF70 |
Alternate code protection | 0x1FC4FF50 | 0x1FC6FF50 | 0x1FC0FF50 | 0x1FC2FF50 |
Alternate DEVCFG0 | 0x1FC4FF4C | 0x1FC6FF4C | 0x1FC0FF4C | 0x1FC2FF4C |
Alternate DEVCFG1 | 0x1FC4FF48 | 0x1FC6FF48 | 0x1FC0FF48 | 0x1FC2FF48 |
Alternate DEVCFG2 | 0x1FC4FF44 | 0x1FC6FF44 | 0x1FC0FF44 | 0x1FC2FF44 |
Alternate DEVCFG3 | 0x1FC4FF40 | 0x1FC6FF40 | 0x1FC0FF40 | 0x1FC2FF40 |
Alternate DEVCFG4(3) | 0x1FC4FF3C | 0x1FC6FF3C | 0x1FC0FF3C | 0x1FC2FF3C |
Note:
|
Configuration Word(1) | Register Physical Address | |||
---|---|---|---|---|
Fixed Boot Region 1 | Fixed Boot Region 2 | Active Boot Alias Region(2) | Inactive Boot Alias Region(2) | |
Boot sequence number | 0x1FC43FF0 | 0x1FC63FF0 | 0x1FC03FF0 | 0x1FC23FF0 |
Code protection | 0x1FC43FD0 | 0x1FC63FD0 | 0x1FC03FD0 | 0x1FC23FD0 |
DEVCFG0 | 0x1FC43FCC | 0x1FC63FCC | 0x1FC03FCC | 0x1FC23FCC |
DEVCFG1 | 0x1FC43FC8 | 0x1FC63FC8 | 0x1FC03FC8 | 0x1FC23FC8 |
DEVCFG2 | 0x1FC43FC4 | 0x1FC63FC4 | 0x1FC03FC4 | 0x1FC23FC4 |
DEVCFG3 | 0x1FC43FC0 | 0x1FC63FC0 | 0x1FC03FC0 | 0x1FC23FC0 |
Note:
|
Configuration Word(1) | Register Physical Address | |||
---|---|---|---|---|
Fixed Boot Region 1 | Fixed Boot Region 2 | Active Boot Alias Region(2, 3) | Inactive Boot Alias Region(2, 3) | |
Boot sequence number | 0x1FC43FF0 | 0x1FC63FF0 | 0x1FC03FF0 | 0x1FC23FF0 |
Code protection | 0x1FC43FD0 | 0x1FC63FD0 | 0x1FC03FD0 | 0x1FC23FD0 |
DEVCFG0 | 0x1FC43FCC | 0x1FC63FCC | 0x1FC03FCC | 0x1FC23FCC |
DEVCFG1 | 0x1FC43FC8 | 0x1FC63FC8 | 0x1FC03FC8 | 0x1FC23FC8 |
DEVCFG2 | 0x1FC43FC4 | 0x1FC63FC4 | 0x1FC03FC4 | 0x1FC23FC4 |
DEVCFG3 | 0x1FC43FC0 | 0x1FC63FC0 | 0x1FC03FC0 | 0x1FC23FC0 |
DEVCFG4 | 0x1FC43FBC | — | — | — |
Alternate boot sequence number | 0x1FC43F70 | 0x1FC63F70 | 0x1FC03F70 | 0x1FC23F70 |
Alternate code protection | 0x1FC43F50 | 0x1FC63F50 | 0x1FC03F50 | 0x1FC23F50 |
Alternate DEVCFG0 | 0x1FC43F4C | 0x1FC63F4C | 0x1FC03F4C | 0x1FC23F4C |
Alternate DEVCFG1 | 0x1FC43F48 | 0x1FC63F48 | 0x1FC03F48 | 0x1FC23F48 |
Alternate DEVCFG2 | 0x1FC43F44 | 0x1FC63F44 | 0x1FC03F44 | 0x1FC23F44 |
Alternate DEVCFG3 | 0x1FC43F40 | 0x1FC63F40 | 0x1FC03F40 | 0x1FC23F40 |
Alternate DEVCFG4 | 0x1FC43F3C | 0x1FC63F3C | 0x1FC03F3C | 0x1FC23F3C |
Note:
|