6.1.2 Programming Options

MPLAB X IDE and Atmel Studio support programming of Microchip AVR and Microchip SAM Arm devices using the Atmel-ICE. The programming dialog in Atmel Studio or the Communication Interface in the MPLAB X IDE Project Properties can be configured to use JTAG, aWire, SPI, PDI, TPI, SWD modes, according to the target device selected.

When configuring the clock frequency, different rules apply for different interfaces and target families:

  • SPI programming makes use of the target clock. Configure the clock frequency to be lower than one-fourth the frequency at which the target device is currently running.
  • JTAG programming on Microchip megaAVR devices is clocked by the programmer. This means that the programming clock frequency is limited to the maximum operating frequency of the device itself. (Usually 16 MHz.)
  • AVR XMEGA programming on both JTAG and PDI interfaces is clocked by the programmer. This means that the programming clock frequency is limited to the maximum operating frequency of the device itself. (Usually 32 MHz).
  • AVR UC3 programming on the JTAG interface is clocked by the programmer. This means that the programming clock frequency is limited to the maximum operating frequency of the device itself. (Limited to 33 MHz.)
  • AVR UC3 programming on aWire interface is clocked by the programmer. The optimal frequency is given by the SAB bus speed in the target device. The Atmel-ICE debugger will automatically tune the aWire baud rate to meet this criterion. Although it's usually not necessary, the user can limit the maximum baud rate if needed (e.g., in noisy environments).
  • SAM device programming on the SWD interface is clocked by the programmer. The maximum frequency supported by Atmel-ICE is 2 MHz. The frequency should not exceed the target CPU frequency times 10, f SWD 10 f SYSCLK .