jtag: merge init_internal to CTOR, pass verbose to jtag drivers
This commit is contained in:
parent
4bf4b94bbb
commit
75d98d12e9
46
src/jtag.cpp
46
src/jtag.cpp
|
|
@ -81,21 +81,6 @@ Jtag::Jtag(const cable_t &cable, const jtag_pins_conf_t *pin_conf,
|
|||
_state(RUN_TEST_IDLE),
|
||||
_tms_buffer_size(128), _num_tms(0),
|
||||
_board_name("nope"), device_index(0)
|
||||
{
|
||||
init_internal(cable, dev, serial, pin_conf, clkHZ, firmware_path,
|
||||
invert_read_edge, ip_adr, port);
|
||||
detectChain(5);
|
||||
}
|
||||
|
||||
Jtag::~Jtag()
|
||||
{
|
||||
free(_tms_buffer);
|
||||
delete _jtag;
|
||||
}
|
||||
|
||||
void Jtag::init_internal(const cable_t &cable, const string &dev, const string &serial,
|
||||
const jtag_pins_conf_t *pin_conf, uint32_t clkHZ, const string &firmware_path,
|
||||
const bool invert_read_edge, const string &ip_adr, int port)
|
||||
{
|
||||
switch (cable.type) {
|
||||
case MODE_ANLOGICCABLE:
|
||||
|
|
@ -104,30 +89,30 @@ void Jtag::init_internal(const cable_t &cable, const string &dev, const string &
|
|||
case MODE_FTDI_BITBANG:
|
||||
if (pin_conf == NULL)
|
||||
throw std::exception();
|
||||
_jtag = new FtdiJtagBitBang(cable, pin_conf, dev, serial, clkHZ, _verbose);
|
||||
_jtag = new FtdiJtagBitBang(cable, pin_conf, dev, serial, clkHZ, verbose);
|
||||
break;
|
||||
case MODE_FTDI_SERIAL:
|
||||
_jtag = new FtdiJtagMPSSE(cable, dev, serial, clkHZ,
|
||||
invert_read_edge, _verbose);
|
||||
invert_read_edge, verbose);
|
||||
break;
|
||||
case MODE_CH552_JTAG:
|
||||
_jtag = new CH552_jtag(cable, dev, serial, clkHZ, _verbose);
|
||||
_jtag = new CH552_jtag(cable, dev, serial, clkHZ, verbose);
|
||||
break;
|
||||
case MODE_CH347:
|
||||
_jtag = new CH347Jtag(clkHZ, _verbose);
|
||||
_jtag = new CH347Jtag(clkHZ, verbose);
|
||||
break;
|
||||
case MODE_DIRTYJTAG:
|
||||
_jtag = new DirtyJtag(clkHZ, _verbose);
|
||||
_jtag = new DirtyJtag(clkHZ, verbose);
|
||||
break;
|
||||
case MODE_JLINK:
|
||||
_jtag = new Jlink(clkHZ, _verbose, cable.vid, cable.pid);
|
||||
_jtag = new Jlink(clkHZ, verbose, cable.vid, cable.pid);
|
||||
break;
|
||||
case MODE_USBBLASTER:
|
||||
_jtag = new UsbBlaster(cable, firmware_path, _verbose);
|
||||
_jtag = new UsbBlaster(cable, firmware_path, verbose);
|
||||
break;
|
||||
case MODE_CMSISDAP:
|
||||
#ifdef ENABLE_CMSISDAP
|
||||
_jtag = new CmsisDAP(cable, cable.config.index, _verbose);
|
||||
_jtag = new CmsisDAP(cable, cable.config.index, verbose);
|
||||
break;
|
||||
#else
|
||||
std::cerr << "Jtag: support for cmsisdap was not enabled at compile time" << std::endl;
|
||||
|
|
@ -135,7 +120,7 @@ void Jtag::init_internal(const cable_t &cable, const string &dev, const string &
|
|||
#endif
|
||||
case MODE_XVC_CLIENT:
|
||||
#ifdef ENABLE_XVC
|
||||
_jtag = new XVC_client(ip_adr, port, clkHZ, _verbose);
|
||||
_jtag = new XVC_client(ip_adr, port, clkHZ, verbose);
|
||||
break;
|
||||
#else
|
||||
std::cerr << "Jtag: support for xvc-client was not enabled at compile time" << std::endl;
|
||||
|
|
@ -143,17 +128,17 @@ void Jtag::init_internal(const cable_t &cable, const string &dev, const string &
|
|||
#endif
|
||||
#ifdef ENABLE_LIBGPIOD
|
||||
case MODE_LIBGPIOD_BITBANG:
|
||||
_jtag = new LibgpiodJtagBitbang(pin_conf, dev, clkHZ, _verbose);
|
||||
_jtag = new LibgpiodJtagBitbang(pin_conf, dev, clkHZ, verbose);
|
||||
break;
|
||||
#endif
|
||||
#ifdef ENABLE_JETSONNANOGPIO
|
||||
case MODE_JETSONNANO_BITBANG:
|
||||
_jtag = new JetsonNanoJtagBitbang(pin_conf, dev, clkHZ, _verbose);
|
||||
_jtag = new JetsonNanoJtagBitbang(pin_conf, dev, clkHZ, verbose);
|
||||
break;
|
||||
#endif
|
||||
#ifdef ENABLE_REMOTEBITBANG
|
||||
case MODE_REMOTEBITBANG:
|
||||
_jtag = new RemoteBitbang_client(ip_adr, port, _verbose);
|
||||
_jtag = new RemoteBitbang_client(ip_adr, port, verbose);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
|
|
@ -163,8 +148,15 @@ void Jtag::init_internal(const cable_t &cable, const string &dev, const string &
|
|||
|
||||
_tms_buffer = (unsigned char *)malloc(sizeof(unsigned char) * _tms_buffer_size);
|
||||
memset(_tms_buffer, 0, _tms_buffer_size);
|
||||
|
||||
detectChain(5);
|
||||
}
|
||||
|
||||
Jtag::~Jtag()
|
||||
{
|
||||
free(_tms_buffer);
|
||||
delete _jtag;
|
||||
}
|
||||
int Jtag::detectChain(int max_dev)
|
||||
{
|
||||
char message[256];
|
||||
|
|
|
|||
|
|
@ -110,12 +110,6 @@ class Jtag {
|
|||
JtagInterface *_jtag;
|
||||
|
||||
private:
|
||||
void init_internal(const cable_t &cable, const std::string &dev,
|
||||
const std::string &serial,
|
||||
const jtag_pins_conf_t *pin_conf, uint32_t clkHZ,
|
||||
const std::string &firmware_path,
|
||||
const bool invert_read_edge,
|
||||
const std::string &ip_adr, int port);
|
||||
/*!
|
||||
* \brief search in fpga_list and misc_dev_list for a device with idcode
|
||||
* if found insert idcode and irlength in _devices_list and
|
||||
|
|
@ -124,7 +118,7 @@ class Jtag {
|
|||
* \return false if not found, true otherwise
|
||||
*/
|
||||
bool search_and_insert_device_with_idcode(uint32_t idcode);
|
||||
int8_t _verbose;
|
||||
bool _verbose;
|
||||
int _state;
|
||||
int _tms_buffer_size;
|
||||
int _num_tms;
|
||||
|
|
|
|||
Loading…
Reference in New Issue