📄 readme
字号:
The spy tool has been assembled with the assmbler of thAVR studio4 tool.The reason I did this is to speed up everything to makeoptimal use of the ATMega16. Uo can check for instancehow long the ATMega16 will take the interrupt routines.This is really amazing !I measured the JTAG signals with a Tectornix scope anddiscoverd that on the rising egde of the jtag clockthe input and output data has changed and has theright value. If we connect the jtag clock to an alternativepin with interrupt capability then you can't miss thedata we need. If we do it smart enough then connect alljtag signals to one port. When the rising edge of thejtag clock triggers the interrupt then all we need to do isto read this port and put the data into a buffer for furtherhandling. The jtag clock is only important in here.The JTAG protocol mentions a TAP controller which is builtas a state machine. You can see therefore the different"case" statements in the jtag_spy routine.The jtag clock is not important anymore so the TMS signalis the next important one.The TMS is the one that can change the state in which the TAPcontroller is in. If not then capture the TDI and TDOinputs (well, actually these are inputs for the spy).When the exit stage has been reached then dump all thecollected bits and dump these as 2 "big" arrays : one isthe data to be shifted in and one is the data to be shiftedout.With some guidance (the letters !) you can see what is goingon.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -