AnsweredAssumed Answered

MC56F8366 JTAG chain

Question asked by Jozef Prokopovic on Jun 25, 2014
Latest reply on Nov 10, 2014 by John Winters

Hi,

 

I am wondering if the MC56F8366 is able to debug in JTAG chain. I found a lot of post that it it not working properly, even in Errata sheet there is note that the EOnCE

OPDBR is not working properly, but there is also a note:

 

2. If there is only one 56800E device on a scan chain, then the EOnCE OPDRB register will work properly as long as the 56800E device is the first device on the scan chain

 

So I have made my connection that MC56F8366 is the first device of the JTAG chain. But I can not make it work.

I can debug the MC56F8366 when it is only single device in the JTAG chain. When I connect the other device I can only read the ID of my MC56F8366 and I can also enter debug mode according to the procedure

from manual. But when I try to read for example the OSCTL register at the 0xF2D5 address, the communication is wrong.

 

Here you can find my single JTAG chain commands and received data which are OK:

 

Shift-DR (Send 8 bits) =00100000, [L=04h, M=20h, Time = 2120ns]                                     //DR-SCAN data on TDI, select OPDBR

Shift-DR (Read 8 bits) =10001100, [L=31h, M=8Ch, Time = 2120ns]                                     //DR-SCAN data on TDO

Shift-DR (Send 16 bits) =1001001011100001, [L=8749h, M=92E1h, Time = 13730ns]            //moveu.w #$F2D5,R1

Shift-DR (Read 16 bits) =0000000000000000, [L=0000h, M=0000h, Time = 13730ns]

Shift-DR (Send 8 bits) =00100010, [L=44h, M=22h, Time = 34120ns]

Shift-DR (Read 8 bits) =00001100, [L=30h, M=0Ch, Time = 34120ns]

Shift-DR (Send 16 bits) =1010101101001111, [L=F2D5h, M=AB4Fh, Time = 45730ns]

Shift-DR (Read 16 bits) =0000000000000000, [L=0000h, M=0000h, Time = 45730ns]

Shift-DR (Send 8 bits) =00100010, [L=44h, M=22h, Time = 66110ns]

Shift-DR (Read 8 bits) =00001100, [L=30h, M=0Ch, Time = 66110ns]

Shift-DR (Send 16 bits) =1000000011101111, [L=F701h, M=80EFh, Time = 77720ns]           //move.w  X:(R1)+,Y1

Shift-DR (Read 16 bits) =0000000000000000, [L=0000h, M=0000h, Time = 77720ns]

Shift-DR (Send 8 bits) =00100000, [L=04h, M=20h, Time = 98100ns]                                 //move.w   Y1,X:0xFFFFFFFF   

Shift-DR (Read 8 bits) =00001100, [L=30h, M=0Ch, Time = 98100ns]

Shift-DR (Send 16 bits) =1111111011100111, [L=E77Fh, M=FEE7h, Time = 109710ns]

Shift-DR (Read 16 bits) =0000000000000000, [L=0000h, M=0000h, Time = 109710ns]

Shift-DR (Send 8 bits) =00100000, [L=04h, M=20h, Time = 130080ns]

Shift-DR (Read 8 bits) =10001100, [L=31h, M=8Ch, Time = 130080ns]

Shift-DR (Send 16 bits) =0011111011101011, [L=D77Ch, M=3EEBh, Time = 141680ns]

Shift-DR (Read 16 bits) =0000000000000000, [L=0000h, M=0000h, Time = 141680ns]

Shift-DR (Send 8 bits) =00100010, [L=44h, M=22h, Time = 162110ns]

Shift-DR (Read 8 bits) =00001100, [L=30h, M=0Ch, Time = 162110ns]

Shift-DR (Send 16 bits) =1111111111111111, [L=FFFFh, M=FFFFh, Time = 173710ns]

Shift-DR (Read 16 bits) =0000000000000000, [L=0000h, M=0000h, Time = 173710ns]

Shift-DR (Send 8 bits) =10010001, [L=89h, M=91h, Time = 194100ns]                                  //EOnCE read

Shift-DR (Read 8 bits) =00001100, [L=30h, M=0Ch, Time = 194100ns]

Shift-DR (Send 16 bits) =0000000000000000, [L=0000h, M=0000h, Time = 205710ns]

Shift-DR (Read 16 bits) =0000000001001000, [L=1200h, M=0048h, Time = 205710ns]           //OK data read back

 

and here is the JTAG chain command set which is not working.(2 devices in the chain first is the MC56F8366)

there is only a one difference, that in DR-SCAN SEND data one bit of data is added, value 0 for the second device

 

Shift-DR (Send 9 bits) =000100000, [L=008h, M=020h, Time = 2130ns]

Shift-DR (Read 9 bits) =100011000, [L=031h, M=118h, Time = 2130ns]

Shift-DR (Send 17 bits) =01001001011100001, [L=10E92h, M=092E1h, Time = 14640ns]

Shift-DR (Read 17 bits) =00000000000000000, [L=00000h, M=00000h, Time = 14640ns]

Shift-DR (Send 9 bits) =000100010, [L=088h, M=022h, Time = 35960ns]

Shift-DR (Read 9 bits) =000011000, [L=030h, M=018h, Time = 35960ns]

Shift-DR (Send 17 bits) =01010101101001111, [L=1E5AAh, M=0AB4Fh, Time = 48470ns]

Shift-DR (Read 17 bits) =00000000000000000, [L=00000h, M=00000h, Time = 48470ns]

Shift-DR (Send 9 bits) =000100010, [L=088h, M=022h, Time = 69790ns]

Shift-DR (Read 9 bits) =000011000, [L=030h, M=018h, Time = 69790ns]

Shift-DR (Send 17 bits) =01000000011101111, [L=1EE02h, M=080EFh, Time = 82320ns]

Shift-DR (Read 17 bits) =00000000000000000, [L=00000h, M=00000h, Time = 82320ns]

Shift-DR (Send 9 bits) =000100000, [L=008h, M=020h, Time = 103610ns]

Shift-DR (Read 9 bits) =000011000, [L=030h, M=018h, Time = 103610ns]

Shift-DR (Send 17 bits) =01111111011100111, [L=1CEFEh, M=0FEE7h, Time = 116120ns]

Shift-DR (Read 17 bits) =00000000000000000, [L=00000h, M=00000h, Time = 116120ns]

Shift-DR (Send 9 bits) =000100000, [L=008h, M=020h, Time = 137410ns]

Shift-DR (Read 9 bits) =100011000, [L=031h, M=118h, Time = 137410ns]

Shift-DR (Send 17 bits) =00011111011101011, [L=1AEF8h, M=03EEBh, Time = 149930ns]

Shift-DR (Read 17 bits) =00000000000000000, [L=00000h, M=00000h, Time = 149930ns]

Shift-DR (Send 9 bits) =000100010, [L=088h, M=022h, Time = 171220ns]

Shift-DR (Read 9 bits) =000011000, [L=030h, M=018h, Time = 171220ns]

Shift-DR (Send 17 bits) =01111111111111111, [L=1FFFEh, M=0FFFFh, Time = 183720ns]

Shift-DR (Read 17 bits) =00000000000000000, [L=00000h, M=00000h, Time = 183720ns]

Shift-DR (Send 9 bits) =010010001, [L=112h, M=091h, Time = 204980ns]

Shift-DR (Read 9 bits) =100011000, [L=031h, M=118h, Time = 204980ns]

Shift-DR (Send 17 bits) =00000000000000000, [L=00000h, M=00000h, Time = 217540ns]

Shift-DR (Read 17 bits) =00010010100000100, [L=04148h, M=02504h, Time = 217540ns]   // here is the data which are read back, and they are Not OK.

 

Could you please advise me how to fix it? Is it OK to send the additional bit like that?

 

Jozef

Outcomes