mirror of
https://github.com/trabucayre/openFPGALoader.git
synced 2026-08-31 10:16:11 +02:00
rename ftdijtag to jtag
- drop everything about ftdi - use jtagInterface to communicate with hardware - for all class using jtag: rename FtdiJtag -> Jtag
This commit is contained in:
+10
-8
@@ -1,5 +1,6 @@
|
||||
#include <string.h>
|
||||
#include "altera.hpp"
|
||||
#include "ftdijtag.hpp"
|
||||
#include "jtag.hpp"
|
||||
#include "device.hpp"
|
||||
#include "epcq.hpp"
|
||||
|
||||
@@ -8,7 +9,7 @@
|
||||
// DATA_DIR is defined at compile time.
|
||||
#define BIT_FOR_FLASH (DATA_DIR "/openFPGALoader/test_sfl.svf")
|
||||
|
||||
Altera::Altera(FtdiJtag *jtag, std::string filename, bool verbose):
|
||||
Altera::Altera(Jtag *jtag, std::string filename, bool verbose):
|
||||
Device(jtag, filename, verbose), _svf(_jtag, _verbose)
|
||||
{
|
||||
if (_filename != "") {
|
||||
@@ -24,10 +25,10 @@ void Altera::reset()
|
||||
{
|
||||
/* PULSE_NCONFIG */
|
||||
unsigned char tx_buff[2] = {0x01, 0x00};
|
||||
_jtag->set_state(FtdiJtag::TEST_LOGIC_RESET);
|
||||
_jtag->set_state(Jtag::TEST_LOGIC_RESET);
|
||||
_jtag->shiftIR(tx_buff, NULL, IRLENGTH);
|
||||
_jtag->toggleClk(1);
|
||||
_jtag->set_state(FtdiJtag::TEST_LOGIC_RESET);
|
||||
_jtag->set_state(Jtag::TEST_LOGIC_RESET);
|
||||
}
|
||||
|
||||
void Altera::program(unsigned int offset)
|
||||
@@ -45,7 +46,7 @@ void Altera::program(unsigned int offset)
|
||||
_svf.parse(_filename);
|
||||
} else if (_mode == Device::SPI_MODE) {
|
||||
/* GGM: TODO: fix this issue */
|
||||
EPCQ epcq(_jtag->vid(), _jtag->pid(), 2, 6000000);
|
||||
EPCQ epcq(0x403, 0x6010/*_jtag->vid(), _jtag->pid()*/, 2, 6000000);
|
||||
_svf.parse(BIT_FOR_FLASH);
|
||||
epcq.program(offset, _filename, (_file_extension == "rpd")? true:false);
|
||||
reset();
|
||||
@@ -53,11 +54,12 @@ void Altera::program(unsigned int offset)
|
||||
}
|
||||
int Altera::idCode()
|
||||
{
|
||||
unsigned char tx_data = IDCODE;
|
||||
unsigned char tx_data[4] = {IDCODE};
|
||||
unsigned char rx_data[4];
|
||||
_jtag->go_test_logic_reset();
|
||||
_jtag->shiftIR(&tx_data, NULL, IRLENGTH);
|
||||
_jtag->shiftDR(NULL, rx_data, 32);
|
||||
_jtag->shiftIR(tx_data, NULL, IRLENGTH);
|
||||
bzero(tx_data, 4);
|
||||
_jtag->shiftDR(tx_data, rx_data, 32);
|
||||
return ((rx_data[0] & 0x000000ff) |
|
||||
((rx_data[1] << 8) & 0x0000ff00) |
|
||||
((rx_data[2] << 16) & 0x00ff0000) |
|
||||
|
||||
Reference in New Issue
Block a user