00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00028 #ifndef _JTAG_H_
00029 #define _JTAG_H_
00030
00032 #define JTAG_IRLENGTH 5
00033
00035
00039 class JTAGControl {
00040 public:
00042
00045 virtual bool init(int argc, char **argv)=0;
00046
00048
00053 virtual void ireg(unsigned char *data)=0;
00054
00056
00062 virtual void dreg(unsigned char *data, unsigned char length, bool writeOnly=false)=0;
00063
00065
00066 virtual void jtagReset(void)=0;
00067
00069
00072 virtual void cpuReset(bool state)=0;
00073
00075
00078 virtual void trst(bool state)=0;
00079
00081
00084 virtual void idle(unsigned int nbTCK)=0;
00085
00087 virtual void flushQueue(void)=0;
00088
00090 virtual const char *getName(void) const =0;
00091 };
00092
00093 #endif // _JTAG_H_
00094