Skip to content

Commit 75d98d1

Browse files
committed
jtag: merge init_internal to CTOR, pass verbose to jtag drivers
1 parent 4bf4b94 commit 75d98d1

2 files changed

Lines changed: 20 additions & 34 deletions

File tree

src/jtag.cpp

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
}
168160
int Jtag::detectChain(int max_dev)
169161
{
170162
char message[256];

src/jtag.hpp

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,6 @@ class Jtag {
110110
JtagInterface *_jtag;
111111

112112
private:
113-
void init_internal(const cable_t &cable, const std::string &dev,
114-
const std::string &serial,
115-
const jtag_pins_conf_t *pin_conf, uint32_t clkHZ,
116-
const std::string &firmware_path,
117-
const bool invert_read_edge,
118-
const std::string &ip_adr, int port);
119113
/*!
120114
* \brief search in fpga_list and misc_dev_list for a device with idcode
121115
* if found insert idcode and irlength in _devices_list and
@@ -124,7 +118,7 @@ class Jtag {
124118
* \return false if not found, true otherwise
125119
*/
126120
bool search_and_insert_device_with_idcode(uint32_t idcode);
127-
int8_t _verbose;
121+
bool _verbose;
128122
int _state;
129123
int _tms_buffer_size;
130124
int _num_tms;

0 commit comments

Comments
 (0)