8.2.1 Memories to Program

Select the memories to be programmed into the target. The table below shows all the possible options. However, only those options available for your selected device will be displayed in MPLAB X IDE.
Note: If Erase All Before Program is selected, as shown in section Program, then all device memory will be erased before programming.
Table 8-1. Memories to Program Option Category
Auto select memories and rangesAllow ICD 4 to Select Memories - The debugger uses your selected device and default settings to determine what to program.

Manually select memories and ranges - You select the type and range of memory to program (see below).

Configuration MemoryCheck to include Configuration Memory in the areas(s) to be programmed. This is always programmed in Debug mode.
Boot FlashCheck to include Boot Flash memory in the area)s) to be programmed. This is always programmed in Debug mode.
EEPROMCheck to include EEPROM memory in the area(s) to be programmed.
IDCheck to program the user ID.
Program MemoryCheck to program the target program memory range specified below.
Program Memory Range(s) (hex)The range(s) of program memory to be programmed. These are the starting and ending hex address range(s) in program memory for programming, reading, or verification. Each range must be two hex numbers (the start and end addresses of the range) separated by a dash. Multiple ranges must be separated by a comma (for example, 0-ff, 200-2ff). Ranges must be aligned on a 0x800 address boundary.
Note: The address range does not apply to the Erase function. The Erase function will erase all data on the device.
Preserve Program MemoryCheck to not set the target program memory range specified below. Ensure that code is NOT code protected.
Preserve Program Memory Range(s) (hex)The starting and ending hex address range(s) in target program memory to preserve when programming, reading, or verifying. This memory is read from the target and overlaid with existing MPLAB X IDE memory.
Preserve MemoryCheck to preserve Memory for reprogramming, where Memory is the type of memory. Types include: EEPROM, ID, Boot Flash, and Auxiliary. Ensure that code is NOT code protected.
Preserve Memory Range(s) (hex)*The starting and ending hex address range in target Memory to preserve when programming, reading, or verifying. Memory is the type of memory, which includes EEPROM, ID, Boot Flash, and Auxiliary. This memory is read from the target and overlaid onto the existing MPLAB X IDE memory. Ensure that code is NOT code protected.
* If you receive a programming error due to an incorrect range, ensure the range does not exceed available/remaining device memory.