aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/AVRISP/Lib/NVMTarget.h
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-12-14 06:01:56 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-12-14 06:01:56 +0000
commitf3e4fbe5126fc8edf40a0b0ace2d3437ee988d2e (patch)
treef89c9fc12bcdc535b45c5f0c8df366e19fbdbc69 /Projects/AVRISP/Lib/NVMTarget.h
parent48e50b6b578fa7a74b4f33f067aa684e3469850e (diff)
downloadlufa-f3e4fbe5126fc8edf40a0b0ace2d3437ee988d2e.tar.gz
lufa-f3e4fbe5126fc8edf40a0b0ace2d3437ee988d2e.tar.bz2
lufa-f3e4fbe5126fc8edf40a0b0ace2d3437ee988d2e.zip
Use the PDI REPEAT instruction in the PDI programmer code to reduce protocol overhead and greatly improve transfer throughput. Switch bit-bang USART in the AVRISP project to Timer 1, so that Timer 0 can be used for hardware timeouts while waiting for the NVM bus or controller to become ready.
Diffstat (limited to 'Projects/AVRISP/Lib/NVMTarget.h')
-rw-r--r--Projects/AVRISP/Lib/NVMTarget.h10
1 files changed, 2 insertions, 8 deletions
diff --git a/Projects/AVRISP/Lib/NVMTarget.h b/Projects/AVRISP/Lib/NVMTarget.h
index bd9296f74..7fde84538 100644
--- a/Projects/AVRISP/Lib/NVMTarget.h
+++ b/Projects/AVRISP/Lib/NVMTarget.h
@@ -56,12 +56,7 @@
#endif
/* Defines: */
- #define FLASH_BASE 0x00800000
- #define EPPROM_BASE 0x008C0000
- #define FUSE_BASE 0x008F0020
- #define DATAMEM_BASE 0x01000000
- #define PROD_SIGNATURE_BASE 0x008E0200
- #define USER_SIGNATURE_BASE 0x008E0400
+ #define NVM_BUSY_TIMEOUT_MS 200
#define NVM_REG_ADDR0 0x00
#define NVM_REG_ADDR1 0x01
@@ -113,8 +108,7 @@
/* Function Prototypes: */
void NVMTarget_SendNVMRegAddress(uint8_t Register);
void NVMTarget_SendAddress(uint32_t AbsoluteAddress);
- bool NVMTarget_WaitWhileNVMBusBusy(void);
- void NVMTarget_WaitWhileNVMControllerBusy(void);
+ bool NVMTarget_WaitWhileNVMControllerBusy(void);
uint32_t NVMTarget_GetMemoryCRC(uint8_t MemoryCommand);
void NVMTarget_ReadMemory(uint32_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadSize);
void NVMTarget_EraseMemory(uint8_t EraseCommand, uint32_t Address);