Debugger Funcon Summary
User Guide
© 2023 Microchip Technology Inc. and its subsidiaries
DS-50003529B - 76
Preserve Program Memory Check to not program the target program memory range specied below.
Ensure code is NOT code protected.
Preserve Program Memory
Range(s) (hex)*
The starting and ending hex address range in target program memory to preserve when
programming, reading, or verifying.
This memory is read from the target and overlayed with existing MPLAB X IDE memory.
Preserve Memory Check to preserve Memory for reprogramming. Types of memory include: Instruction RAM,
Flash Data, Data Flash, EEPROM, ID, Boot Flash, Auxiliary.
Ensure 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. Types of memory include: Instruction RAM, Flash Data, Data Flash,
EEPROM, Boot Flash, Auxiliary.
This memory is read from the target and overlayed with existing MPLAB X IDE memory.
Ensure 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.
9.2.2 Debug Opons
Select debug options, if available for the project device.
Table 9-2. Debug Opons Opon Category
Debug startup System settings may be found under Tools>Options>Embedded>Generic Settings, but may be changed
here: Use system settings, Run, Halt at main, Halt at reset vector.
Debug reset System settings may be found under Tools>Options>Embedded>Generic Settings, but may be changed
here: Use system settings, Main, ResetVector.
Use Software
Breakpoints
Check to use software breakpoints.
Uncheck to use hardware breakpoints. See the discussion below to determine which type is best for
your application.
Use Simultaneous
Debug
Check to indicate that the project is part of a multi-core simultaneous debug session.
Table 9-3. Soware vs Hardware Breakpoints
Features Software Breakpoints Hardware Breakpoints
Number of breakpoints unlimited limited
Breakpoints are written to program memory debug registers
Time to set breakpoints oscillator speed dependent, it can take minutes minimal
Skidding no yes
Note: Using software breakpoints for debug impacts device endurance. So, it is recommended that
devices used in this manner should not be used as production parts.
9.2.3 Program Opons
Choose to erase all memory before programming, or to merge code.
Table 9-4. Program Opons Opon Category
Erase All Before
Program
Check to erase all memory before programming begins.
Unless programming new or already erased devices, it is important to have this box checked. If it is
not checked, the device is not erased and program code will be merged with the code already in the
device.
Do not erase
auxiliary memory
For devices that support auxiliary memory:
Check to not erase aux memory when programming.
Uncheck to erase aux memory when programming.
9.2.4 ICD 5 Tool Opons
Set up MPLAB ICD 5 specic options.