00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00029 #ifndef __EZUSB_JTAG_H
00030 #define __EZUSB_JTAG_H
00031
00032 #include "ezusb_loader.h"
00033 #include "jtag.h"
00034
00036
00040 class EzUSBJTAG: public EzUSB, public JTAGControl
00041 {
00042 protected:
00044 void writeAndReadBuffer(unsigned char *buffer, int toWrite, int toRead, unsigned long delay=0);
00045
00047 unsigned char queue[64];
00048
00050 int queuePos;
00051
00052 public:
00054 EzUSBJTAG();
00055
00057 virtual ~EzUSBJTAG();
00058
00060
00061 virtual bool init(int argc, char **argv);
00062
00064 virtual void ireg(unsigned char *data);
00065
00067
00068
00069
00070
00071 virtual void dreg(unsigned char *data, unsigned char length, bool writeOnly=false);
00072
00074 virtual void jtagReset(void);
00075
00077 virtual void cpuReset(bool state);
00078
00080 virtual void trst(bool state);
00081
00083 virtual void idle(unsigned int nbTCK);
00084
00086 virtual void flushQueue(void);
00087
00088 virtual const char *getName(void) const { return "ezusb"; }
00089 };
00090
00091 #endif