M
Me
Guest
Hi Guys,
I'm trying to make a jtag adapter out of an 8-bit micro-controller and
a usb-serial adapter.
So far, I can connect to my target and read it's IDCODE upon power up,
due to it being automatically loaded on the data register, and being
it the same as specified in the data sheet.
However, I'm encountring problems when shifting data into the tap.
Initially, my attempt is to shift the IDCODE instruction into the
shift-ir register so I can read it back again, and to know that I can
both, send and receive data from the tap.
However, having tried several different things I'm done a bit of a
mess (plus that I don't fully yet understand jtag), so I'd appreciate
if somebody could give me a hand with my questions.
When I phisically reset the device and go to the shift-dr state in
order to grab devices's IDCODE. Some data (concretely a 0x1) is put by
the tap on TDI while I'm shifting out of TDO.
Am I wrong if I just ignore data put into the i/o register I'm not
currently working with (TDI or TDO)? or is it needed to store it and
feed it back somehow for things to work properly?
My whole proccess right now is as follows:
* I reset the device.
* Go to the shift-dr state, and grab the device's IDCODE.
* From update-dr (which is where the shift-out operation leaves me) I
move to the shift-ir state, and start shifting in the IDCODE
instruction.
* From update-ir, I move into shift-dr again, so as to read it back.
Then I always read the same bytes, but these hasn't got nothing to do
with the IDCODE read initally.
Regards,
I'm trying to make a jtag adapter out of an 8-bit micro-controller and
a usb-serial adapter.
So far, I can connect to my target and read it's IDCODE upon power up,
due to it being automatically loaded on the data register, and being
it the same as specified in the data sheet.
However, I'm encountring problems when shifting data into the tap.
Initially, my attempt is to shift the IDCODE instruction into the
shift-ir register so I can read it back again, and to know that I can
both, send and receive data from the tap.
However, having tried several different things I'm done a bit of a
mess (plus that I don't fully yet understand jtag), so I'd appreciate
if somebody could give me a hand with my questions.
When I phisically reset the device and go to the shift-dr state in
order to grab devices's IDCODE. Some data (concretely a 0x1) is put by
the tap on TDI while I'm shifting out of TDO.
Am I wrong if I just ignore data put into the i/o register I'm not
currently working with (TDI or TDO)? or is it needed to store it and
feed it back somehow for things to work properly?
My whole proccess right now is as follows:
* I reset the device.
* Go to the shift-dr state, and grab the device's IDCODE.
* From update-dr (which is where the shift-out operation leaves me) I
move to the shift-ir state, and start shifting in the IDCODE
instruction.
* From update-ir, I move into shift-dr again, so as to read it back.
Then I always read the same bytes, but these hasn't got nothing to do
with the IDCODE read initally.
Regards,