X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/12a01ed72d0d6dbf243160302314870e7b29cc07..f79f9abd28040d839b02ea22cdfde3d0a34f3482:/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c?ds=inline diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c index 805eaa31f..07dce5011 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c +++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c @@ -119,7 +119,7 @@ static void XPROGProtocol_EnterXPROGMode(void) { /* Enable PDI programming mode with the attached target */ XPROGTarget_EnableTargetPDI(); - + /* Store the RESET key into the RESET PDI register to keep the XMEGA in reset */ XPROGTarget_SendByte(PDI_CMD_STCS | PDI_RESET_REG); XPROGTarget_SendByte(PDI_RESET_KEY); @@ -170,6 +170,8 @@ static void XPROGProtocol_LeaveXPROGMode(void) if (XPROG_SelectedProtocol == XPRG_PROTOCOL_PDI) { + XMEGANVM_WaitWhileNVMBusBusy(); + /* 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); @@ -178,6 +180,8 @@ static void XPROGProtocol_LeaveXPROGMode(void) } else { + TINYNVM_WaitWhileNVMBusBusy(); + /* Clear the NVMEN bit in the TPI CONTROL register to disable TPI mode */ XPROGTarget_SendByte(TPI_CMD_SSTCS | TPI_CTRL_REG); XPROGTarget_SendByte(0x00);