The STK600 is a development board from Atmel. It uses a similar protocol as the STK500 and has an integrated USB programmer on board.
The programmer can be connected with a cable to the STK600 board itself, but also to an external board.
The STK600 replaces the STK500 and is advised for XMEGA development. For regular AVR chips we would recommend the STK500.
The STK600 has actual 3 different programmers on board : ISP, PDI and JTAG. the ISP/PDI protocols are combined and placed on one connector.
When programming XMEGA chips, the BASCOM programmers will automatic switch to the PDI protocol. The ISP protocol can not be used with XMEGA chips.
For other chips, (non-xmega), the ISP protocol will be used.
There are affordable PDI programmers available.
The following description is also true for the AVRISP/mkII programmer which also supports the PDI protocol.
In order to use the STK600 protocol you need to have LIBSUSB installed.
The BASCOM programmers always try to identify the chip before an action is performed. This is needed to check the size and to check if your program is intended for the selected chip.
It would not be a good idea for example to program an attiny13 with xmega128a1 code.
When you chose manual programming, you will get the following window:
As you can see, the binary image is loaded and if an EEPROM EEP binary image was available it would have been loaded too.
When you click the Identify button, the programmer will read the device id. The same will happen for any other action you chose.
The Device ID is now read and you can see the ATXMEGA128A1 is detected.
The programmer has the same options as the STK500 programmer. Only the lock and fuse byte differ for the Xmega.
When you select the Lock and Fuse bits, you will get a similar screen:
The XMEGA has one lock byte and 6 fuse byes named FUSE0-FUSE5.
Not all fuse bytes are used. The options depend on the XMEGA chip you use.
In the screen shot from above you can see that under the FUSE1 section, the 'Watchdog Window Configuration' is colored red.
When you change an option and move focus or enter, a change will result in the option to be shown in red.
When you have selected all values you can select the WRITE button to write the lock and fuse bytes.
After this the values will be read again and updated.
The WRITE PRG button will insert a $PROG directive into your code with all lock and fuse bytes.
A description of the fuse bytes you can find in the PDF of the processor.