X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/48e50b6b578fa7a74b4f33f067aa684e3469850e..79efd8c79e723adb3392367ae62356c5c3a835d0:/Projects/AVRISP/Lib/NVMTarget.h diff --git a/Projects/AVRISP/Lib/NVMTarget.h b/Projects/AVRISP/Lib/NVMTarget.h index bd9296f74..3608fcb35 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 @@ -79,8 +74,8 @@ #define NVM_CMD_NOOP 0x00 #define NVM_CMD_CHIPERASE 0x40 #define NVM_CMD_READNVM 0x43 - #define NVM_CMD_LOADFLASHBUFF 0x23 - #define NVM_CMD_ERASEFLASHBUFF 0x26 + #define NVM_CMD_LOADFLASHPAGEBUFF 0x23 + #define NVM_CMD_ERASEFLASHPAGEBUFF 0x26 #define NVM_CMD_ERASEFLASHPAGE 0x2B #define NVM_CMD_FLASHPAGEWRITE 0x2E #define NVM_CMD_ERASEWRITEFLASH 0x2F @@ -111,12 +106,15 @@ #define NVM_CMD_READEEPROM 0x06 /* Function Prototypes: */ - void NVMTarget_SendNVMRegAddress(uint8_t Register); - void NVMTarget_SendAddress(uint32_t AbsoluteAddress); - bool NVMTarget_WaitWhileNVMBusBusy(void); - void 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); + void NVMTarget_SendNVMRegAddress(uint8_t Register); + void NVMTarget_SendAddress(uint32_t AbsoluteAddress); + bool NVMTarget_WaitWhileNVMControllerBusy(void); + bool NVMTarget_GetMemoryCRC(uint8_t CRCCommand, uint32_t* CRCDest); + bool NVMTarget_ReadMemory(uint32_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadSize); + bool NVMTarget_WriteByteMemory(uint8_t WriteCommand, uint32_t WriteAddress, uint8_t* WriteBuffer, + uint16_t WriteSize); + bool NVMTarget_WritePageMemory(uint8_t WriteBuffCommand, uint8_t EraseBuffCommand, uint8_t WritePageCommand, + uint8_t PageMode, uint32_t WriteAddress, uint8_t* WriteBuffer, uint16_t WriteSize); + bool NVMTarget_EraseMemory(uint8_t EraseCommand, uint32_t Address); #endif