anlogic: don't use read_write
This commit is contained in:
parent
27af85dc19
commit
181303ce8c
|
|
@ -154,20 +154,23 @@ void Anlogic::program(unsigned int offset)
|
||||||
_jtag->shiftIR(CFG_IN, IRLENGTH);
|
_jtag->shiftIR(CFG_IN, IRLENGTH);
|
||||||
_jtag->toggleClk(15);
|
_jtag->toggleClk(15);
|
||||||
|
|
||||||
_jtag->set_state(Jtag::SHIFT_DR);
|
|
||||||
ProgressBar progress("Loading", len, 50, _quiet);
|
ProgressBar progress("Loading", len, 50, _quiet);
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
uint8_t *ptr = data;
|
uint8_t *ptr = data;
|
||||||
while (len > 0) {
|
while (len > 0) {
|
||||||
int xfer_len = (len > 512)?512:len;
|
int xfer_len = (len > 512)?512:len;
|
||||||
_jtag->read_write(ptr, NULL, xfer_len*8, (len - xfer_len == 0));
|
int tx_end;
|
||||||
|
if (len - xfer_len == 0)
|
||||||
|
tx_end = Jtag::RUN_TEST_IDLE;
|
||||||
|
else
|
||||||
|
tx_end = Jtag::SHIFT_DR;
|
||||||
|
_jtag->shiftDR(ptr, NULL, xfer_len * 8, tx_end);
|
||||||
len -= xfer_len;
|
len -= xfer_len;
|
||||||
progress.display(pos);
|
progress.display(pos);
|
||||||
pos += xfer_len;
|
pos += xfer_len;
|
||||||
ptr+=xfer_len;
|
ptr+=xfer_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
_jtag->set_state(Jtag::RUN_TEST_IDLE);
|
|
||||||
progress.done();
|
progress.done();
|
||||||
_jtag->toggleClk(100);
|
_jtag->toggleClk(100);
|
||||||
// Loading device with a `jtag start` instruction.
|
// Loading device with a `jtag start` instruction.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue