Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

jtag2 works for me too!

jtag2 works for me too!

2004-03-22 by embeddedjanitor

I know a few people have had the secondary JTAG working, but a lot 
have also struggled, so I post this with the hope of helping a few 
people.

Firstly, the assembly code in the Philips App Note is wrong, but will 
perhaps still work.I will take this up with Philips. I shall post the 
code I used on the download area. The two things the Philips code
does 
wrong are:
* Does not set up exception vectors properly.
* Does not do anything after the pin matrix is set up. This could 
cause a crash (exception) which could disturb the JTAG state (perhaps)
.
I set up things pretty much according to the Philips app note, but 
then needed to do the following to get things working:

* You should not reset the device under debugger command unless it 
lets you run the code for a while. The reason for this is that the 
flash code must run to set up JTAG2. Instead, the debugger should be 
configured to stop the running code. 

* THe clock speed needs to be low enough. The JTAG interface can only 
be clocked at up to 1/6 of the core clock. Therefore if you have a 
10MHz crystal you don't want to be clocking much faster than 1MHz. 
Some debuggers let you initialise at one speed, then use a faster 
speed after initialisation. It might be worth adding the PLL speed up 
to the startup code to use a faster JTAG clock.

-- Charles

Re: jtag2 works for me too!

2004-03-23 by philips_apps

Hi Charles

Thanks for looking into the Secondary JTAG application note.

Just want to comment on the issues you brought up regarding the 
application note

* Does not set up exception vectors properly.
>>>> The code provided has been tested at our end and it works fine.

The interrupt vector table only provides a starting point for the 
interrupt handling routines that have not been covered in this 
application note. The "dummy" interrupt vectors provided in the 
application note only support the signature computation that needs to 
reside at 0x14. Please check the AN10254_1 application note for 
understanding interrupt handling.

> * Does not do anything after the pin matrix is set up. This could 
> cause a crash (exception) which could disturb the JTAG state 
(perhaps)
 >>>> Yes, if you are debugging from SRAM then nothing needs to be 
done after configuring the pin  matrix. A while(1) loop could be 
added nevertheless.
If you are debugging your application from Flash then you need to 
jump to your application after configuring the pin matrix.You could 
also add a few seconds delay routine before the jump takes place so 
that you have time to connect the debugger to the board after reset 
so that you are absolutely sure that your application has not yet run.

Hope these comments are helpful.

Best Regards
Philips_apps


--- In lpc2000@yahoogroups.com, "embeddedjanitor" <manningc2@a...> 
wrote:
> I know a few people have had the secondary JTAG working, but a lot 
> have also struggled, so I post this with the hope of helping a few 
> people.
> 
> Firstly, the assembly code in the Philips App Note is wrong, but 
will 
> perhaps still work.I will take this up with Philips. I shall post 
the 
> code I used on the download area. The two things the Philips code
> does 
> wrong are:
> * Does not set up exception vectors properly.
> * Does not do anything after the pin matrix is set up. This could 
> cause a crash (exception) which could disturb the JTAG state 
(perhaps)
> .
> I set up things pretty much according to the Philips app note, but 
> then needed to do the following to get things working:
> 
> * You should not reset the device under debugger command unless it 
> lets you run the code for a while. The reason for this is that the 
> flash code must run to set up JTAG2. Instead, the debugger should 
be 
> configured to stop the running code. 
> 
> * THe clock speed needs to be low enough. The JTAG interface can 
only 
> be clocked at up to 1/6 of the core clock. Therefore if you have a 
> 10MHz crystal you don't want to be clocking much faster than 1MHz. 
> Some debuggers let you initialise at one speed, then use a faster 
> speed after initialisation. It might be worth adding the PLL speed 
up 
Show quoted textHide quoted text
> to the startup code to use a faster JTAG clock.
> 
> -- Charles

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.