X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/1f8dfd0205d431351425f468627984280b21cd5a..4f74075fad7f1e7a35d04ff534d9d6a57d2b97fc:/Projects/AVRISP/Lib/PDIProtocol.h diff --git a/Projects/AVRISP/Lib/PDIProtocol.h b/Projects/AVRISP/Lib/PDIProtocol.h index 2710b2ff5..137bcc2cf 100644 --- a/Projects/AVRISP/Lib/PDIProtocol.h +++ b/Projects/AVRISP/Lib/PDIProtocol.h @@ -38,9 +38,21 @@ /* Includes: */ #include + #include #include #include "V2Protocol.h" + #include "PDITarget.h" + #include "NVMTarget.h" + + /* Preprocessor Checks: */ + #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) + #undef ENABLE_ISP_PROTOCOL + + #if !defined(ENABLE_PDI_PROTOCOL) + #define ENABLE_PDI_PROTOCOL + #endif + #endif /* Macros: */ #define XPRG_CMD_ENTER_PROGMODE 0x01 @@ -83,15 +95,24 @@ #define XPRG_PARAM_NVMBASE 0x01 #define XPRG_PARAM_EEPPAGESIZE 0x02 + #define XPRG_PROTOCOL_PDI 0x00 + #define XPRG_PROTOCOL_JTAG 0x01 + + #define XPRG_PAGEMODE_WRITE (1 << 1) + #define XPRG_PAGEMODE_ERASE (1 << 0) + + /* External Variables: */ + extern uint32_t XPROG_Param_NVMBase; + /* Function Prototypes: */ void PDIProtocol_XPROG_SetMode(void); void PDIProtocol_XPROG_Command(void); - #if defined(INCLUDE_FROM_XPROG_C) + #if defined(INCLUDE_FROM_PDIPROTOCOL_C) static void PDIProtocol_EnterXPROGMode(void); static void PDIProtocol_LeaveXPROGMode(void); static void PDIProtocol_SetParam(void); - static void PDIProtocol_EraseChip(void); + static void PDIProtocol_Erase(void); static void PDIProtocol_WriteMemory(void); static void PDIProtocol_ReadMemory(void); static void PDIProtocol_ReadCRC(void);