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