EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

LPC1300 and LPC1100 debugging with Crossworks

Started by ksdoubleshooter March 1, 2010
I'm starting a new project and I'm going to use either an LPC1300
or LPC1100 device. I use Rowley Crossworks 2.0 and have the following
JTAG debuggers:

Olimex ARM-USB-OCD
Rowley Crossconnect Lite
An IAR branded version of J-Link
Luminary Micro LM3S811 Evaluation Board

I am a bit confused about JTAG functionality on these devices. The
users manual for each of these families indicates that JTAG function is
available coming out of reset on certain pins. However, I have read on
another forum that SWD is the only debug interface method and there is
no JTAG functionality on these devices.

Can someone set me straight and with the JTAG devices that I already
own, am I ready to go???

Jeff

An Engineer's Guide to the LPC2100 Series

On 01/03/2010 16:34, ksdoubleshooter wrote:
> I'm starting a new project and I'm going to use either an LPC1300
> or LPC1100 device. I use Rowley Crossworks 2.0 and have the following
> JTAG debuggers:
>
> Olimex ARM-USB-OCD
> Rowley Crossconnect Lite
> An IAR branded version of J-Link
> Luminary Micro LM3S811 Evaluation Board
>
> I am a bit confused about JTAG functionality on these devices. The
> users manual for each of these families indicates that JTAG function is
> available coming out of reset on certain pins. However, I have read on
> another forum that SWD is the only debug interface method and there is
> no JTAG functionality on these devices.
>
> Can someone set me straight and with the JTAG devices that I already
> own, am I ready to go???

They have both JTAG and SWD. The standard connector recommended by ARM
for Cortex devices is a little 10-way 0.05" spacing Samtec header, which
can be used for either JTAG or SWD, depending on what pins are connected
to the ARM chip. It's used on the new LPCXpresso board. Rowley will be
shipping a little adapter for this connector (I've got one), but I'm not
sure if it works with the CrossConnect Lite (Paul?). It definitely works
with the Classic and Pro. Anyway, you can use the old 20-pin interface
on your existing JTAG I/Fs with those newer chips, and CrossWorks. I'd
use the newer 10-way connector, if possible, as it's a lot smaller.

Leon
--
Leon Heller
G1HSM
--- In l..., Leon Heller wrote:
> > I am a bit confused about JTAG functionality on these devices. The
> > users manual for each of these families indicates that JTAG function is
> > available coming out of reset on certain pins. However, I have read on
> > another forum that SWD is the only debug interface method and there is
> > no JTAG functionality on these devices.
> >
> > Can someone set me straight and with the JTAG devices that I already
> > own, am I ready to go???
>
> They have both JTAG and SWD.

Hi Leon,

They have JTAG, but this is not for debugging! Only SWD can be used for that. JTAG on LPC1300 and LPC1100 does not give you access to the CPU.

I expect the JTAG description and pin names to be removed from coming revisions of NXP's documentation.

Regards,
Rolf

On 01/03/2010 21:59, rolf_meeser wrote:
> --- In l..., Leon Heller wrote:
>>> I am a bit confused about JTAG functionality on these devices. The
>>> users manual for each of these families indicates that JTAG function is
>>> available coming out of reset on certain pins. However, I have read on
>>> another forum that SWD is the only debug interface method and there is
>>> no JTAG functionality on these devices.
>>>
>>> Can someone set me straight and with the JTAG devices that I already
>>> own, am I ready to go???
>>
>> They have both JTAG and SWD.
>
> Hi Leon,
>
> They have JTAG, but this is not for debugging! Only SWD can be used for that. JTAG on LPC1300 and LPC1100 does not give you access to the CPU.
>
> I expect the JTAG description and pin names to be removed from coming revisions of NXP's documentation.

That's strange. ARM states that the Cortex-M0 has both JTAG and SWD
debugging:

http://www.arm.com/products/processors/cortex-m/cortex-m0.php

and the LPCXpresso has a JTAG interface to the LPC1114, according to the
schematic.

Leon
--
Leon Heller
G1HSM
> That's strange. ARM states that the Cortex-M0 has both JTAG and SWD
> debugging:

Perhaps it's similar to the M3-based LPC1700/LPC1300 ... the M0 is capable of supporting JTAG, but not everyone has implemented it??? My understanding was that the M0 is SWD only, though.

I put together a blog post on the J-Link EDU version last week, and listed all the main HW debuggers that support SWD that I knew of (there should be another addition soon as well from Rowley Associates): http://www.microbuilder.eu/Blog/10-02-26/REVIEW_Segger_J-Link_for_ARM_EDU.aspx

As for connecting SWD, perhaps someone might find this useful ...

http://www.microbuilder.eu/Projects/LPC1114ReferenceDesign.aspx
http://www.microbuilder.eu/Projects/LPC1343ReferenceDesign.aspx

I've been using these boards for a while now, and the 1343 is more or less 'final'. The only change to make to the 1114 is that I've added a jumper to bypass the step-up (since it's a bit of an energy pig on an otherwise lean, mean processing machine ... well under 4mA at 12MHz for the whole board, and around 0.25mA in deep sleep with a timer running off the WDTOSC to wake it up, and I think I can still improve those numbers).

As for SWD, I've been really glad to have the extra HW breakpoints, and to be able to significantly reduce the pin count ... you'll have to cough up for a new debugger or adapter, but I don't miss JTAG in the slightest. I did end up keeping the big 20 pin connector, though, simply to make using something like the J-Link easier.

It's probably worth mentionning the the M0 doesn't support SWO either (the 1300 does), which is why I have it pulled up on the LPC1114 board.

On 02/03/2010 01:00, kevin_townsend2 wrote:
>> That's strange. ARM states that the Cortex-M0 has both JTAG and SWD
>> debugging:
>
> Perhaps it's similar to the M3-based LPC1700/LPC1300 ... the M0 is capable of supporting JTAG, but not everyone has implemented it??? My understanding was that the M0 is SWD only, though.

As I said, the LPCXpresso uses JTAG with the LPC1114. The schematic
shows all the JTAG connections, and it is clearly marked JTAG on the
block diagram:

http://www.embeddedartists.com/products/lpcxpresso/LPCXpressoLPC1114revA.pdf

Leon
--
Leon Heller
G1HSM
> As I said, the LPCXpresso uses JTAG with the LPC1114. The schematic
> shows all the JTAG connections, and it is clearly marked JTAG on the
> block diagram:

I think it's just a question of labels. On p.4 of that datasheet, I only see SWD pins hooked up .... 3.3V/SWDIO/SWCLK/SWO/GND (which actually doesn't do anything since the M0 doesn't support SWO) and Reset. They can (falsely) call it JTAG if they want, but that's an SWD connection to me.

Kevin.

On 02/03/2010 10:10, kevin_townsend2 wrote:
>> As I said, the LPCXpresso uses JTAG with the LPC1114. The schematic
>> shows all the JTAG connections, and it is clearly marked JTAG on the
>> block diagram:
>
> I think it's just a question of labels. On p.4 of that datasheet, I only see SWD pins hooked up .... 3.3V/SWDIO/SWCLK/SWO/GND (which actually doesn't do anything since the M0 doesn't support SWO) and Reset. They can (falsely) call it JTAG if they want, but that's an SWD connection to me.

Yes, they don't connect TDI and RTCK to the LPC1114. I'm still quite
sure that it can use JTAG, though.

Leon
--
Leon Heller
G1HSM
On 02/03/2010 10:35, Leon Heller wrote:
> On 02/03/2010 10:10, kevin_townsend2 wrote:
>>> As I said, the LPCXpresso uses JTAG with the LPC1114. The schematic
>>> shows all the JTAG connections, and it is clearly marked JTAG on the
>>> block diagram:
>>
>> I think it's just a question of labels. On p.4 of that datasheet, I only see SWD pins hooked up .... 3.3V/SWDIO/SWCLK/SWO/GND (which actually doesn't do anything since the M0 doesn't support SWO) and Reset. They can (falsely) call it JTAG if they want, but that's an SWD connection to me.
>
> Yes, they don't connect TDI and RTCK to the LPC1114. I'm still quite
> sure that it can use JTAG, though.
>
> Leon

I've just contacted NXP support about it, they should be able to resolve
the matter. I've also asked them about pullups on the SWD connections,
ARM recommends them but they don't seem to be used on the LPCXpresso.

Leon
--
Leon Heller
G1HSM

The 2024 Embedded Online Conference