3.3.5.1 Tool Property Options Used with the Set Command

The following table provides additional information for tool property options used with the Set command.

Important: The set command, including the tool property options, must be executed before the Hwtool command is issued, otherwise the changes to the tool properties will be ignored.
Note:
  1. MDB commands are not case-sensitive. However, when using the set command, where tool option properties are passed as parameters, the parameter portion of the command line entered is case-sensitive.
  2. Tool property options that you want to use with the set command must be selected before using the Hwtool command.
Table 3-7. Tool Property Name Options Used by the Set Command
Tool Property Name Value
AutoSelectMemRanges

Determines whether the debugger will automatically select the areas of memory and program memory ranges to program.

If set to auto, the debugger will automatically select the memory and ranges. Manual means the memories and ranges will be determined by the memories properties below.

Example:

set AutoSelectMemRanges auto

auto or manual
communication.interface

Set the communication interface to nnn (nnn is the value).

Example:

set communication.interface jtag

jtag, swd, updi, dw, isp, pdi, tpi
communication.interface.jtag

Select the JTAG method.

Example:

set communication.interface. jtag 2wire

2wire or 4wire
communication.speed

Set the communication speed to nnn (nnn is the value).

Example:

set communication.speed 0.100

a decimal value (in MHz), dependent on the device
debugoptions.useswbreakpoints

True indicates that software breakpoints will be used for program address breakpoints, false indicates that hardware breakpoints will be used (does not apply to PICkit 3).

Example:

set debugoptions.useswbreakpoints true

true or false
debugoptions.simultaneous.debug

True indicates that the project is part of a multi-core simultaneous debug session. If false, it is not.

Example:

set debugoptions.simultaneous.debug true

true or false
freezeperiphs

Check to freeze all other peripherals not specifically mentioned above. Some peripherals have no freeze configurability and cannot be controlled by the debugger.

Select peripherals to freeze, or not freeze, on program halt. Options available depend on device chosen.

true or false
hwtoolclock.frcindebug

If true, it will use FRC in debug mode (requires reprogramming); if false, it will not. Switch to the internal oscillator when the target is halted and in debug mode. This option can be used to speed up debugging operations if the internal oscillator is faster than the run time oscillator the target is using. The target will automatically be switched back to the run time oscillator when the target exits debug mode (runs).

Example:

set hwtoolclock.frcindebug true

true or false
hwtoolclock.instructionspeed This will tell MPLAB X what speed (in instructions per second) the target will be running at. This does not set the target instruction speed; that is done through the configuration bits. This setting is used in conjunction with the Instruction Speed Units property.

Example:

set hwtoolclock.instructionspeed 4

hwtoolclock.units

Determines the units of the Target run-time instruction speed property entered directly above this one.

Example:

set hwtoolclock.units mips

mips or kips
memories.configurationmemory

If true, the configuration memory will be programmed; if false, it will not (always programmed in debug mode).

Example:

set memories.configurationmemory true

true or false
memories.configurationmemory2If true, the configuration memory partition 2 will be programmed; if false, it will not (always programmed in debug mode).

Example:

set memories.configurationmemory2 true

true or false
memories.dataflash

This is an area of flash that is also used to store data. Conceptually, this is the same a flashdat, but is different in that the firmware must know the difference between the two types of memory so they have different designations. If the database returns true to the hasDataFlashSpace() call, the memory is present for this device.

Example:

set memories.dataflash true

true or false
memories.flashdata

This is an area of flash that is used to store data. If the database returns true to the hasFlashData() call, the memory is present for the device.

Example:

set memories.flashdata true

true or false
memories.instruction.ram

If true, the instruction ram will be programmed; if false, it will not (for debugging only).

Example:

set memories.instruction.ram true

true or false
memories.instruction.ram.ranges

Instruction ram Range(s). Each range must be two hex numbers, representing the start and end addresses of the range, separated by a dash. Ranges must be separated by a comma (e.g. 0-ff, 200-2ff).

Example:

set memories.instruction.ram.ranges 0-ff,200-2ff

Hex value
programoptions.preserveprogramrange

If true, preserve program memory; if false, it will not.

Example:

set programoptions.preserveprogramrange true

true or false
programoptions.preserveprogram.ranges

Define preserve program range(s). Areas are reserved by reading them into MPLAB and then programming them back down when a program operation occurs. Thus the preserved areas must lie within a memory range that will be programmed. Ranges must be aligned on a program memory address boundary. Each range must be two hex numbers, representing the start and end addresses of the range, separated by a dash. Ranges must be separated by a comma (e.g. 0-ff, 200-2ff).

Example:

set programoptions.preserveprogram.ranges 0-ff,200-2ff

Hex value
memories.programmemory

If true, the program memory will be programmed; if false, it will not.

Example:

set memories.programmemory true

true or false
memories.programmemory.ranges

Program Memory Range(s). Enter ranges in hex (e.g. 0-ff, 200-2ff).

Example:

set memories.programmemory.ranges 200-2ff

Hex value
memories.programmemory.start

The value represents the starting program memory address that the debug tool will begin programming.

Example:

set memories.programmemory.start 0x0000

a string representing a long value
memories.programmemory.end

The value represents the ending program memory address that the debug tool will end programming.

Example:

set memories.programmemory.end 0xFFFF

a string representing a long value
memories.eeprom

If true, the EEPROM memory will be programmed; if false, it will not.

Example:

set memories.eeprom true

true or false
memories.id

If true, the user ID memory will be programmed; if false, it will not.

Example:

set memories.id true

true or false
memories.bootflash

If true, the boot flash (PIC32 only) memory will be programmed; if false, it will not.

Example:

set memories.bootflash true

true or false
memories.aux

If true, the auxiliary program memory (dsPIC®/PIC24 EP parts only) will be programmed; if false, it will not.

Example:

set memories.aux true

true or false
networktool.connection.type ethernet, usb, ethernetstaticip, wifista, wifiap(default is usb).
programoptions.donoteraseauxmem

If true, the auxiliary memory will not be erased; if false it will.

Example:

set programoptions.donoteraseauxmem true

programoptions.eraseb4program

If true, the device will be erased before it is programmed; if false it will not.

Example:

set programoptions.eraseb4program true

true or false
programoptions.ledbrightness

Sets the brightness of the LEDs on the hardware tool. Setting 1 is darkest and 10 is the brightest. The default is 5.

Example:

set programoptions.ledbrightness 7

1 to 10
programoptions.pgcconfig

Sets the type of resistance to be applied to the PGC line. The default is pull down. The value of the resistance is set by the PGC resistor option.

Example:

set programoptions.pgcconfig pullup

none or pull up or pull down
programoptions.pgcresistor.value

Sets the value of the resistance on the PGC line. Maximum value is 50 kohms. If PGC configuration is set to none, this value is ignored.

Example:

set programoptions.pgcresistor.value 4.7

0.1 to 50.0
programoptions.pgdconfig

Sets the type of resistance to be applied to the PGD line. The default is pull down. The value of the resistance is set by the PGD resistor option.

Example:

set programoptions.pgdconfig pullup

none or pull up or pull down
programoptions.pgdresistor.value

Sets the value of the resistance on the PGD line. Maximum value is 50 kohms. If PGD configuration is set to none, this value is ignored.

Example:

set programoptions.pgdresistor.value 4.7

0.1 to 50.0
programoptions.pgmentry.voltage

Sets the method the hardware tool will use to put the target device in programming mode. For the low voltage method, Vpp will not exceed the Vdd supply voltage. Instead, a test pattern will be used on Vpp. For the high voltage method, a voltage in excess of 9 volts will be placed on Vpp.

Example:

set programoptions.pgmentry.voltage low

Low or High
programoptions.pgmspeed

Sets the speed that the hardware tool will use to program the target. If programming fails, try a slower speed. The default is Med.

Example:

set programoptions.pgmspeed Min

Min or Med or Max
programoptions.preservedataflash

If true, preserve data flash; if false, it will not.

Example:

set programoptions.preservedataflash true

true or false
programoptions.preservedataflash.ranges

Define preserve program range(s). Areas are reserved by reading them into MPLAB and then programming them back down when a program operation occurs. Thus EEPROM must be selected for programming. Ranges must be aligned on a program memory address boundary. Each range must be two hex numbers, representing the start and end addresses of the range, separated by a dash. Ranges must be separated by a comma (e.g. 0-ff, 200-2ff).

Example:

set programoptions.preservedataflash.ranges 0-ff,200-2ff

Hex value
programoptions.preserveeeprom

If true, preserve EEPROM memory; if false, it will not.

Example:

set programoptions.preserveeeprom true

true or false
programoptions.preserveuserid If true, preserve ID memory; if false, it will not.

Example:

set programoptions. preserveuserid true

true or false
programoptions.programcalmem

If true, it will program calibration memory; if false, it will not. (The calibration value can be set on the linker properties page.)

Example:

set programoptions.programcalmem true

true or false
Program programoptions.programuserotp

If true, it will cause the debug tool to program user OTP memory on the target device; if false, it will not. WARNING: Once programmed, user OTP memory can never be programmed again.

Example:

set programoptions.programoptions.programuserotp true

true or false
poweroptions.powerenable

If true, the debug tool will supply target power at the default voltage for the tool. If false it will not supply target power.

Note: This property does not apply to MPLAB REAL ICE.

To set a non-default voltage for the target power, first set the poweroptions.powerenable to true, then set the voltage value where n.n represents the desired voltage:

set voltagevalue n.n

Example:

set poweroptions.powerenable true

set voltagevalue 3.3

true or false
SecureSegment.SegmentProgramming SegmentProgrammingAll

If true, it permits programming to “Program Over Secure and Protected FLASH.” This property must be set prior to using the program operation on the MDB. Use the -p option to set the tool as a programmer if it’s for a production final image and not just a debug image.

Example:

set SecureSegment.SegmentProgramming SegmentProgrammingAll true

true or false
system.disableerrormsg

This option has been deprecated as of v3.15 but will still function with existing projects. For new projects, use the <Link>

system.disableoutput and

<Link>system.yestoalldialog options.

If true, the system will disable warnings and error messages and answer “yes” to all dialogs; if false the system will enable warning and error messages (this is the default).

Example:

set system.disableerrormsg true

true or false
system.disableoutput

If true, the system will disable warnings and error message outputs but not disable dialogs; if false the system will enable warning and error message outputs and dialogs (this is the default).

Example:

set system.disableoutput true

true or false
system.yestoalldialog

If true, the system will disable dialogs and answer “yes” to all of them; if false the system will enable dialogs (this is the default).

Example:

set system.yestoalldialog true

true or false
toolpack.updateoptions

Select to use the latest tool pack or a different version to support the project device.

xccodecoverage.reporttype

Sets the xc code coverage report type. The report type can be html, gcov, all.

Example:

set xccodecoverage.reporttype html

set xccodecoverage.reporttype gov

set xccodecoverage.reporttype all
a string representing the xc report type
xccodecoverage.htmlreportpath

Sets the html report path to generate report. If report path is not defined or null, then report will be generated in project location.

Example:

set xccodecoverage.htmlreportpath d:\report
a string representing the xc report path
xccodecoverage.replacehtmlreport

Sets the property to true for overwriting the html report files, if already exists in the specified location.

Example:

set xccodecoverage.replacehtmlreport true
true or false