diff options
| author | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2011-11-29 13:33:28 +0000 |
|---|---|---|
| committer | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2011-11-29 13:33:28 +0000 |
| commit | 290ad5bbd115a35df0ca9a1d456172d2334a3880 (patch) | |
| tree | 9a6d4bb22d03d5e0b4aa2428718692cfc0096fc4 /Projects | |
| parent | 6643ad546fa2ff9423a26b2197b413db6757a2fb (diff) | |
Fixed AVRISP-MKII Clone failing to start application firmware once a TPI programming session is exited.
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2000 d5102386-fcda-11dd-9fdb-3debd5008f28
Diffstat (limited to 'Projects')
| -rw-r--r-- | Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c index 26ffb9f1..8d74dd47 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c +++ b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c @@ -146,9 +146,15 @@ void TINYNVM_DisableTPI(void) { TINYNVM_WaitWhileNVMBusBusy(); - /* Clear the NVMEN bit in the TPI STATUS register to disable TPI mode */ - XPROGTarget_SendByte(TPI_CMD_SSTCS | TPI_STATUS_REG); - XPROGTarget_SendByte(0x00); + do + { + /* Clear the NVMEN bit in the TPI STATUS register to disable TPI mode */ + XPROGTarget_SendByte(TPI_CMD_SSTCS | TPI_STATUS_REG); + XPROGTarget_SendByte(0x00); + + /* Read back the STATUS register, check to see if it took effect */ + XPROGTarget_SendByte(TPI_CMD_SLDCS | PDI_RESET_REG); + } while (XPROGTarget_ReceiveByte() != 0x00); XPROGTarget_DisableTargetTPI(); } |
