

Current Version:
2.0
Released 10/24/2002
New Features in Version 2.0
Although WinPSP gets its name from its ability to drive Microchip's PICSTART Plus programming hardware, the major new addition to version 2.0 is a boot loader for the 18Fxxx series of parts. WinPSP 2.0 features an easy-to-use wizard
that makes installing a boot loader on a device a snap:
With a boot loader, you only need to use PICSTART Plus once for each chip. After that, WinPSP can provide
all the same functionality while your device is in its circuit -- through the same serial connection you use
to interface with whatever application you burn into the chip.
WinPSP's boot loader is extremely flexible. You can use any I/O pin as the switch that determines whether
the device runs the boot loader or your application code when it is reset. You can also specify the desired
communication baud rate, along with the clock speed you're planning to use, and WinPSP will generate and install
a boot loader that meets those requirements. It does this instantly; you never have to recompile the boot loader.
The boot loader is also fast -- it is reliable up to 115,200bps when using Windows 2000 or XP and a 40MHz PIC18Fxxx.
The boot loader can be located at the start of program memory or at the end of program memory (useful with some compilers
that are tough to configure to build code that starts at addresses other than zero). No matter where you decide to locate
the boot loader, WinPSP will ensure that you don't accidentally use it to overwrite itself.
Some embedded applications need multiple microcontrollers, but it's usually inconvenient to require a separate serial port to program each part. WinPSP includes an I2C slave boot loader that allows the microcontroller connected to a PC to
function as a conduit for programming one or more slave devices.
WinPSP Remote is a new companion application that gives you the power to send new firmware to a device that's connected
to another PC -- whether that PC is across the room, down the hall, or miles away:
It would be inconvenient to have to change your communication settings every time you wanted to update a different remote device,
so the new Programmer Profiles feature lets you associate names with different groups of settings and switch between them using a
drop-down list on the main window. WinPSP even keeps track of which profile you last used for each HEX file and returns to that
profile automatically when you come back to that file.
Previous versions of WinPSP wrote the entire range of program memory addresses every time you programmed a device. Version 2.0
only operates on the addresses actually used in your HEX files. This greatly speeds up the programming process for smaller
applications and also allows multiple files to be programmed into a part (at different addresses, of course).
Support for the following devices has been added: 16C712, 16C717, 16C745, 16C765, 16C770, 16C771, 16C781, 16C782, 16C925,
16C926, 16F627, 16F628, 16F72, 16F73, 16F74, 16F76, 16F77, 16F870, 16F871, 18C658, 18C858, 18F242, 18F248, 18F252, 18F258,
18F442, 18F448, 18F452, 18F458, rf509AF, and rf509AG.
Features in Version 1.5 and Above
The "Verify" command now provides a much more detailed report that shows how the device's memory differs from the current HEX file and configuration settings.
A "Read" command has been added to allow you to load program memory, configuration bits, EEPROM data, and/or calibration data from a device. You can
view or edit the data using the built-in hex editor. You can also program devices and generate HEX files using all of the loaded data or selected parts
of the data. This feature is a particularly convenient way to initialize/view/modify your 16F8xx device's EEPROM data.
The "Command" menu now includes an "Edit Hex File" option to bring up the hex editor for the current HEX file. This
is handy for applying minor patches before programming.
Calibration data can now be saved to and restored from HEX files. Additionally, PIC14000 calibration is supported.
Features in Version 1.0 and Above
Supports both Motorola and Intel HEX file formats.
Supports PICmicro devices ranging from the 12Cxxx series to the 18Cxxx series, including a full user interface to
set configuration bits for each device.
You will no longer have to deal with a drop-down list that contains hundreds of devices, making it difficult to
find the one you want. WinPSP allows you to configure your device list to contain only the devices you want.
WinPSP remembers the device and configuration settings you last used for each HEX file. It also keeps the ten most
recently used hex files in a drop-down list, allowing you to switch among them with ease. These features are particularly convenient for multi-PIC projects that
require you to juggle several device types and HEX files each time you make changes.
You can configure WinPSP to automatically start up with your system and run in the background as a daemon. Whenever
you rebuild one of the HEX files in your Most Recently Used (MRU) list, WinPSP will automatically pop up, ready to
program the device and configuration associated with that file.
WinPSP stores all the information it needs about each device type, including the available configuration bits
for the device, in a separate (text) INI file. Devices can be added and modified without changing the WinPSP
application itself.
If a HEX file contains embedded configuration bits (via __CONFIG macros in your code), and the configuration in the
HEX file differs from the configuration bits you've selected via the UI, WinPSP will warn you before programming and
give you the option to load the HEX file's configuration.
Support for viewing/modifying device calibration settings (currently excluding the PIC14000, for which support is
being added).
You can selectively program individual device regions (program memory, configuration bits, EEPROM data) without
affecting the other regions. For Flash devices, you can also selectively erase regions.