Xilinx:
- adapt method signature to Device modifications - suppress useless methods - disable not working reset()
This commit is contained in:
parent
66fbbce59a
commit
c5e26c0c69
37
xilinx.cpp
37
xilinx.cpp
|
|
@ -6,13 +6,10 @@
|
||||||
|
|
||||||
#include "xilinx.hpp"
|
#include "xilinx.hpp"
|
||||||
|
|
||||||
Xilinx::Xilinx(FtdiJtag *jtag, enum prog_mode mode, std::string filename):Device(jtag, mode, filename),
|
Xilinx::Xilinx(FtdiJtag *jtag, std::string filename):Device(jtag, filename),
|
||||||
_bitfile(filename)
|
_bitfile(filename)
|
||||||
{
|
{
|
||||||
if (_mode == Device::SPI_MODE) {
|
if (_filename != ""){
|
||||||
throw std::runtime_error("SPI flash is not supported on xilinx devices");
|
|
||||||
}
|
|
||||||
if (_mode != Device::NONE_MODE){
|
|
||||||
_bitfile.parse();
|
_bitfile.parse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -28,6 +25,7 @@ Xilinx::~Xilinx() {}
|
||||||
#define ISC_DISABLE 0x16
|
#define ISC_DISABLE 0x16
|
||||||
#define BYPASS 0x3f
|
#define BYPASS 0x3f
|
||||||
|
|
||||||
|
#if 0
|
||||||
void Xilinx::reset()
|
void Xilinx::reset()
|
||||||
{
|
{
|
||||||
unsigned char instr;
|
unsigned char instr;
|
||||||
|
|
@ -69,6 +67,7 @@ void Xilinx::reset()
|
||||||
_jtag->toggleClk(2000);
|
_jtag->toggleClk(2000);
|
||||||
_jtag->go_test_logic_reset();
|
_jtag->go_test_logic_reset();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int Xilinx::idCode()
|
int Xilinx::idCode()
|
||||||
{
|
{
|
||||||
|
|
@ -83,33 +82,9 @@ int Xilinx::idCode()
|
||||||
((rx_data[3] << 24) & 0xff000000));
|
((rx_data[3] << 24) & 0xff000000));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Xilinx::flow_enable()
|
void Xilinx::program(unsigned int offset)
|
||||||
{
|
|
||||||
unsigned char data;
|
|
||||||
data = ISC_ENABLE;
|
|
||||||
_jtag->shiftIR(&data, NULL, 6);
|
|
||||||
//data[0]=0x0;
|
|
||||||
//jtag->shiftDR(data,0,5);
|
|
||||||
//io->cycleTCK(tck_len);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Xilinx::flow_disable()
|
|
||||||
{
|
|
||||||
unsigned char data;
|
|
||||||
|
|
||||||
data = ISC_DISABLE;
|
|
||||||
_jtag->shiftIR(&data, NULL, 6);
|
|
||||||
//io->cycleTCK(tck_len);
|
|
||||||
//jtag->shiftIR(&BYPASS);
|
|
||||||
//data[0]=0x0;
|
|
||||||
//jtag->shiftDR(data,0,1);
|
|
||||||
//io->cycleTCK(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Xilinx::program()
|
|
||||||
{
|
{
|
||||||
|
if (_filename == "") return;
|
||||||
std::cout << "load program" << std::endl;
|
std::cout << "load program" << std::endl;
|
||||||
unsigned char tx_buf, rx_buf;
|
unsigned char tx_buf, rx_buf;
|
||||||
/* comment TDI TMS TCK
|
/* comment TDI TMS TCK
|
||||||
|
|
|
||||||
10
xilinx.hpp
10
xilinx.hpp
|
|
@ -7,17 +7,13 @@
|
||||||
|
|
||||||
class Xilinx: public Device {
|
class Xilinx: public Device {
|
||||||
public:
|
public:
|
||||||
Xilinx(FtdiJtag *jtag, enum prog_mode mode, std::string filename);
|
Xilinx(FtdiJtag *jtag, std::string filename);
|
||||||
~Xilinx();
|
~Xilinx();
|
||||||
|
|
||||||
void program();
|
void program(unsigned int offset = 0) override;
|
||||||
int idCode();
|
int idCode();
|
||||||
void reset();
|
//void reset();
|
||||||
private:
|
private:
|
||||||
void flow_enable();
|
|
||||||
void flow_disable();
|
|
||||||
//FtdiJtag *_jtag;
|
|
||||||
//std::string _filename;
|
|
||||||
BitParser _bitfile;
|
BitParser _bitfile;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue