- /* Clear the RESET key in the RESET PDI register to allow the XMEGA to run */
- XPROGTarget_SendByte(PDI_CMD_STCS | PDI_RESET_REG);
- XPROGTarget_SendByte(0x00);
+ /* Clear the RESET key in the RESET PDI register to allow the XMEGA to run - must perform this until the
+ * change takes effect, as in some cases it takes multiple writes (silicon bug?).
+ */
+ do
+ {
+ /* Clear reset register */
+ XPROGTarget_SendByte(PDI_CMD_STCS | PDI_RESET_REG);
+ XPROGTarget_SendByte(0x00);