If you get a JTAG Exits check failed message after a JTAG Bypass check message then it means the JTAG Chain is disabled for some reason. The BDI tries to read the bypass register but can't. The message will appear in this sequence In the BDI Telnet prompt.
> - CONFIG: loading configuration file passed > - TARGET: processing reset request > - TARGET: BDI asserts TRST and RESET > - TARGET: BDI removes TRST > - TARGET: Bypass check 0x000000001 => 0x00FFFFFF > - TARGET: JTAG exits check failed
There are several reasons this may be occurring. When you get a message saying Bypass check 0x000000001 => 0xFFFFFFFF, it means that the JTAG is disabled and the BDI cannot find any device on the JTAG chain. A message showing => 0x00000001 or any other number shows the number of devices that were discovered on the JTAG chain.
1) Start out by making sure the correct CPUTYPE is selected in the config file, the location of the bypass register can change with different processors and the BDI might be looking at the wrong location if an incorrect processor type is defined.
2) If the reset from the JTAG connector is delayed for some reason (it might not be directly connected to the processor) then add a wake-up delay to reset line, e.g. "WAKEUP 10000". This does not work if your processor has a watchdog timer (MPC82xx in particular), because the watch dog will trigger before the wakeup time is over. Possibly try and use a smaller wakeup delay.
3) For COP Targets you can try and add a Powerup delay in the target section. "POWERUP 10000". Use this without the WAKEUP delay to see if the exits check passes.
4) If the processor is not the only device on the JTAG Scan chain then you have to tell the BDI2000 the IR values of all the Devices on the Scan chain. USE SCANPRED and SCANSUCC to specify the correct values, see the user manual for more details.
5) Check the JTAG circuit to make sure it is wired correctly on the board. Reference the manual at page 5 and make sure the JTAG connector is wired correctly. Use an oscilloscope to test the logic levels of the signals if need be.
6) A message saying => 0xFFFFFFFF means that the JTAG chain is disabled on your board. Make sure that the JTAG chain is enabled on your board. If there is a mux or jumper on the JTAG chain make sure it is at the correct setting.
7) Please check the power supply to the processor, make sure the power supply is clean and at the recommended level.
8) JTAG is very sensitive to noise and adding resistors sometimes creates slow rising signals that don't meet their time window. For the most part pull-ups of >= 1K are ok with signal lines. The values below should be ok to use with the indicated signals.
Signal Name Resistor Pullup/Pulldown Resistor Value TDI,TDO,TMS, TCK pullup >=2K RESET and TRST pullup 1K-3K TRST pulldown(ARM only) 1K-10K VCC <= 1k
| Signal Name |
Resistor Pullup/pulldown |
Resistor Value |
| TDI, TDO, TMS, TCK |
pullup |
>=2K |
| RESET and TRST |
pullup |
1K-3K |
| TRST |
pulldown (ARM only) |
1K-10K |
| VCC |
|
<= 1K | |