www.pudn.com > C8051JTAG_SRC.rar > C8051.h
////////////////////////////////////////////////////////////////////////// //定义下载线类型 ////////////////////////////////////////////////////////////////////////// #define ALTERABLASTER 0x00 //altera的byteblaster数据线 #define PARALLELIII 0x01 //XILINX PARALLEL III 线缆 /* ALTERABLASTER DB25-2 -------TCK DB25-11-------TDO DB25-3 -------TMS DB25-8 -------TDI DB25-15 ------GND DB25-14 -------244OE DB25-7 --------DB25-10 PARALLELIII DB25-8 -------DB25-11,12; DB25-5 -------74125 控制使能端 DB25-3 -------TCK DB25-2 -------TDI DB25-4 -------TMS DB25-13-------TDO ;对于PC,输入 */ ////////////////////////////////////////////////////////////////////////// //定义JTAG指令地址 ////////////////////////////////////////////////////////////////////////// // JTAG Instruction Register Addresses #define INST_LENGTH 16 // number of bits in the // Instruction Register #define BYPASS 0xffff #define EXTEST 0x0000 #define SAMPLE 0x0002 #define RESET 0x2fff // System RESET Instruction #define IDCODE 0x1004 // IDCODE Instruction address/HALT #define IDCODE_LEN 32 // number of bits in the ID code #define FLASHCON 0x4082 // FLASH Control Instruction address //#define FLCN_LEN 8 // number of bits in FLASHCON #define FLASHDAT 0x4083 // FLASH Data Instruction address //#define FLD_RDLEN 10 // number of bits in an FLASHDAT read //#define FLD_WRLEN 8 // number of bits in an FLASHDAT write #define FLASHADR 0x4084 // FLASH Address Instruction address //#define FLA_LEN 16 // number of bits in FLASHADR #define FLASHSCL 0x4085 // FLASH Scale Instruction address //#define FLSC_LEN 8 // number of bits in FLASHSCL ////////////////////////////////////////////////////////////////////////// //定义CPU类型 ////////////////////////////////////////////////////////////////////////// #define C8051F020 0x3243 //020'ID code #define C8051F120 0x7243 ////////////////////////////////////////////////////////////////////////// //一般C8051JTAG口定义 //1-VCC 2-GND //3-GND 4-TCK //5-TMS 6-TDO //7-TDI 8-NC //9-GND 10-NC //JTAG---C2接口 //1-VCC 2-GND //3-GND 4-C2D //5-RST 6-C2D //7-C2CK8-NC //9-GND 10-NC //修改Byteblaster 的 TDI ////////////////////////////////////////////////////////////////////////// //C2 interface // FLASH information #define FLASH_SIZE 8192 // FLASH size in bytes #define NUM_PAGES FLASH_SIZE/512 // Number of 512-byte FLASH pages // C2 status return codes #define INVALID_COMMAND 0x00 #define COMMAND_FAILED 0x02 #define COMMAND_OK 0x0D // C2 interface commands #define GET_VERSION 0x01 #define BLOCK_READ 0x06 #define BLOCK_WRITE 0x07 #define PAGE_ERASE 0x08 #define DEVICE_ERASE 0x03 // C2 Registers #define FPDAT 0xB4 #define FPCTL 0x02 #define DEVICEID 0x00 #define REVID 0x01 // Program MACROS #define Poll_OutReady while(!(C2_ReadAR()&0x01)) #define Poll_InBusy while((C2_ReadAR()&0x02)) #define StrobeC2CK C2CK = LOW; C2CK = HIGH //#define C2D_DriverOn PRT1CF |= 0x02 // Configures C2D pin as // push-pull output //#define C2D_DriverOff PRT1CF &= ~(0x02);P1 |= 0x02 // Configures C2D pin as // open-drain input