@@ -81,21 +81,6 @@ Jtag::Jtag(const cable_t &cable, const jtag_pins_conf_t *pin_conf,
8181 _state(RUN_TEST_IDLE),
8282 _tms_buffer_size(128 ), _num_tms(0 ),
8383 _board_name(" nope" ), device_index(0 )
84- {
85- init_internal (cable, dev, serial, pin_conf, clkHZ, firmware_path,
86- invert_read_edge, ip_adr, port);
87- detectChain (5 );
88- }
89-
90- Jtag::~Jtag ()
91- {
92- free (_tms_buffer);
93- delete _jtag;
94- }
95-
96- void Jtag::init_internal (const cable_t &cable, const string &dev, const string &serial,
97- const jtag_pins_conf_t *pin_conf, uint32_t clkHZ, const string &firmware_path,
98- const bool invert_read_edge, const string &ip_adr, int port)
9984{
10085 switch (cable.type ) {
10186 case MODE_ANLOGICCABLE:
@@ -104,56 +89,56 @@ void Jtag::init_internal(const cable_t &cable, const string &dev, const string &
10489 case MODE_FTDI_BITBANG:
10590 if (pin_conf == NULL )
10691 throw std::exception ();
107- _jtag = new FtdiJtagBitBang (cable, pin_conf, dev, serial, clkHZ, _verbose );
92+ _jtag = new FtdiJtagBitBang (cable, pin_conf, dev, serial, clkHZ, verbose );
10893 break ;
10994 case MODE_FTDI_SERIAL:
11095 _jtag = new FtdiJtagMPSSE (cable, dev, serial, clkHZ,
111- invert_read_edge, _verbose );
96+ invert_read_edge, verbose );
11297 break ;
11398 case MODE_CH552_JTAG:
114- _jtag = new CH552_jtag (cable, dev, serial, clkHZ, _verbose );
99+ _jtag = new CH552_jtag (cable, dev, serial, clkHZ, verbose );
115100 break ;
116101 case MODE_CH347:
117- _jtag = new CH347Jtag (clkHZ, _verbose );
102+ _jtag = new CH347Jtag (clkHZ, verbose );
118103 break ;
119104 case MODE_DIRTYJTAG:
120- _jtag = new DirtyJtag (clkHZ, _verbose );
105+ _jtag = new DirtyJtag (clkHZ, verbose );
121106 break ;
122107 case MODE_JLINK:
123- _jtag = new Jlink (clkHZ, _verbose , cable.vid , cable.pid );
108+ _jtag = new Jlink (clkHZ, verbose , cable.vid , cable.pid );
124109 break ;
125110 case MODE_USBBLASTER:
126- _jtag = new UsbBlaster (cable, firmware_path, _verbose );
111+ _jtag = new UsbBlaster (cable, firmware_path, verbose );
127112 break ;
128113 case MODE_CMSISDAP:
129114#ifdef ENABLE_CMSISDAP
130- _jtag = new CmsisDAP (cable, cable.config .index , _verbose );
115+ _jtag = new CmsisDAP (cable, cable.config .index , verbose );
131116 break ;
132117#else
133118 std::cerr << " Jtag: support for cmsisdap was not enabled at compile time" << std::endl;
134119 throw std::exception ();
135120#endif
136121 case MODE_XVC_CLIENT:
137122#ifdef ENABLE_XVC
138- _jtag = new XVC_client (ip_adr, port, clkHZ, _verbose );
123+ _jtag = new XVC_client (ip_adr, port, clkHZ, verbose );
139124 break ;
140125#else
141126 std::cerr << " Jtag: support for xvc-client was not enabled at compile time" << std::endl;
142127 throw std::exception ();
143128#endif
144129#ifdef ENABLE_LIBGPIOD
145130 case MODE_LIBGPIOD_BITBANG:
146- _jtag = new LibgpiodJtagBitbang (pin_conf, dev, clkHZ, _verbose );
131+ _jtag = new LibgpiodJtagBitbang (pin_conf, dev, clkHZ, verbose );
147132 break ;
148133#endif
149134#ifdef ENABLE_JETSONNANOGPIO
150135 case MODE_JETSONNANO_BITBANG:
151- _jtag = new JetsonNanoJtagBitbang (pin_conf, dev, clkHZ, _verbose );
136+ _jtag = new JetsonNanoJtagBitbang (pin_conf, dev, clkHZ, verbose );
152137 break ;
153138#endif
154139#ifdef ENABLE_REMOTEBITBANG
155140 case MODE_REMOTEBITBANG:
156- _jtag = new RemoteBitbang_client (ip_adr, port, _verbose );
141+ _jtag = new RemoteBitbang_client (ip_adr, port, verbose );
157142 break ;
158143#endif
159144 default :
@@ -163,8 +148,15 @@ void Jtag::init_internal(const cable_t &cable, const string &dev, const string &
163148
164149 _tms_buffer = (unsigned char *)malloc (sizeof (unsigned char ) * _tms_buffer_size);
165150 memset (_tms_buffer, 0 , _tms_buffer_size);
151+
152+ detectChain (5 );
166153}
167154
155+ Jtag::~Jtag ()
156+ {
157+ free (_tms_buffer);
158+ delete _jtag;
159+ }
168160int Jtag::detectChain (int max_dev)
169161{
170162 char message[256 ];
0 commit comments