00001 #ifndef _ICSP_H_ 00002 #define _ICSP_H_ 00003 00004 /*********** 00005 * time delay definition 00006 ************/ 00007 #define P2 1 00008 #define P2A 1 00009 #define P2B 1 00010 #define P3 1 00011 #define P4 1 00012 #define P5 1 // 40 ns 00013 #define P5A 1 // 40 ns 00014 #define P6 1 // 20 ns 00015 #define P9 10 //4 ms 00016 #define P10 100 //49 ms 00017 #define P11 1000 //475 ms 00018 #define P12 1 00019 #define P13 1 00020 #define P14 1 00021 #define P16 1 00022 #define P19 2 //1 ms 00023 #define P20 1 00024 00025 #define ICSP_CORE_INSTRUCTION 0x00 00026 #define ICSP_SHIFT_OUT_TABLAT_REIGSTER 0x02 00027 #define ICSP_TABLE_READ 0x08 00028 #define ICSP_TABLE_READ_POST_INC 0x09 00029 #define ICSP_TABLE_READ_POST_DEC 0x0a 00030 #define ICSP_TABLE_READ_PRE_INC 0x0b 00031 #define ICSP_TABLE_WRITE 0x0c 00032 #define ICSP_TABLE_WRITE_POST_INC2 0x0d 00033 #define ICSP_TABLE_WRITE_PROG_POST_INC2 0x0e 00034 #define ICSP_TABLE_WRITE_PROG 0x0f 00035 00036 typedef struct{ 00037 U8 State; 00038 U8 *pData; 00039 U32 Address; 00040 }ICSP_CONTROL; 00041 00042 extern ICSP_CONTROL IcspCtrl; 00043 00044 void F_IcspInit(void); 00045 void F_IcspProgramModeEnter(void); 00046 void F_IcspProgramModeExit(void); 00047 void F_IcspInstructionSend(U32 Instruction); 00048 void F_IcspSignatureSend(void); 00049 void F_IcspTest(void); 00050 void F_IcspBulkErase(void); 00051 void F_IcspPageProgram(void); 00052 void F_IcspPageProgram(void); 00053 void F_IcspReset(void); 00054 void F_IcspBufferDump(void); 00055 00056 #endif 00057
1.5.9