EmbeddedRelated.com
Forums
Memfault State of IoT Report

LPC1300 and LPC1100 debugging with Crossworks

Started by ksdoubleshooter March 1, 2010
> 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.

I've never seen resistors used anywhere myself, and my own boards all work well without, but YMMV. The LPC1100 and 1300's all have internal resistors that default to be pulled high as well (which I don't really like, but such is life) ... but my understanding/experience is that you don't need them. Keil isn't using them either with the MCB1000 I believe (I can't seem to load the schematic off their site ... it's an empty PDF?).

I added one resistor on SWO w/the 1114 simply because it doesn't support SWO, but that's just to avoid any potential problems on the IDE side (and could just be paranoia on my part). I'm 110% certain, though, about it not having JTAG (if it doesn't even have SWO), same for the 1343 (which does have SWO). I seem to recall the JTAG was use dfor boundary scans or something like that? Rolf had commented about that earlier, and as I understand it he's rather well placed to comment on the matter. :-)

You can also see:
http://knowledgebase.nxp.com/showthread.php?tD&highlight=JTAG
http://knowledgebase.nxp.com/showthread.php?t4&highlight=JTAG

Kevin.

An Engineer's Guide to the LPC2100 Series

On 02/03/2010 12:46, kevin_townsend2 wrote:
>> 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.
>
> I've never seen resistors used anywhere myself, and my own boards all work well without, but YMMV. The LPC1100 and 1300's all have internal resistors that default to be pulled high as well (which I don't really like, but such is life) ... but my understanding/experience is that you don't need them. Keil isn't using them either with the MCB1000 I believe (I can't seem to load the schematic off their site ... it's an empty PDF?).
>
> I added one resistor on SWO w/the 1114 simply because it doesn't support SWO, but that's just to avoid any potential problems on the IDE side (and could just be paranoia on my part). I'm 110% certain, though, about it not having JTAG (if it doesn't even have SWO), same for the 1343 (which does have SWO). I seem to recall the JTAG was use dfor boundary scans or something like that? Rolf had commented about that earlier, and as I understand it he's rather well placed to comment on the matter. :-)
>
> You can also see:
> http://knowledgebase.nxp.com/showthread.php?tD&highlight=JTAG
> http://knowledgebase.nxp.com/showthread.php?t4&highlight=JTAG

It looks like it is the case then. They should make it clear in the
documentation.

Leon
--
Leon Heller
G1HSM
--- In l..., "kevin_townsend2" wrote:
> I did end up keeping the big 20 pin connector, though,
> simply to make using something like the J-Link easier.
>

Luminary/TI has this adapter for < $20. We use 10 of them
now with the Segger J-Link and Crossworks on an STM32 design
as a reduced size 'JTAG' and it seems to work fine.
It adds a nice reset switch also.

http://focus.ti.com/docs/toolsw/folders/print/mdl-ada2.html

Mouser/Digikey have them listed (TI eStore is too flaky
so didn't check there).

What I would really like is an adapter
board like what is under the hood in ULINK2

http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm

sort of an any to any adapter

I read your posts and then I have a very poor experience: I cut the
JTAG/SWD interface from the LpcXpresso 13xx board and now I am able also
to use LpcXpresso with the Keil LPC1768 evaluation board. It seems that
the interface part may work in jtag mode or in swd mode depending what
mcu is connected. may that the IDE has some sort of function to check
what mcu is connected to the jtag/swd port.
Also could be useful to know if it is possible to use that interface
with a different IDE considering the very low price and that its speed
is quite good.
richard.neveau ha scritto:
>
>
> --- In l... ,
> "kevin_townsend2" wrote:
> > I did end up keeping the big 20 pin connector, though,
> > simply to make using something like the J-Link easier.
> > Luminary/TI has this adapter for < $20. We use 10 of them
> now with the Segger J-Link and Crossworks on an STM32 design
> as a reduced size 'JTAG' and it seems to work fine.
> It adds a nice reset switch also.
>
> http://focus.ti.com/docs/toolsw/folders/print/mdl-ada2.html
> Mouser/Digikey have them listed (TI eStore is too flaky
> so didn't check there).
>
> What I would really like is an adapter
> board like what is under the hood in ULINK2
>
> http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm
> sort of an any to any adapter
> Also could be useful to know if it is possible to use that interface
> with a different IDE considering the very low price and that its speed
> is quite good.

The "LPC-Link" (the HW debugger) only works with the LPCXpresso IDE (and perhaps Red Suite, though I've never tested it myself). It's a good deal for the price if you don't mind working in the LPCXpresso IDE, but limited to that environment (and there's no indication that will ever change). It's a good deal for the price ... you just need to keep that limitation in mind if you are used to working with another IDE/toolset.

Kevin

On 04/03/2010 10:34, kevin_townsend2 wrote:
>> Also could be useful to know if it is possible to use that interface
>> with a different IDE considering the very low price and that its speed
>> is quite good.
>
> The "LPC-Link" (the HW debugger) only works with the LPCXpresso IDE (and perhaps Red Suite, though I've never tested it myself). It's a good deal for the price if you don't mind working in the LPCXpresso IDE, but limited to that environment (and there's no indication that will ever change). It's a good deal for the price ... you just need to keep that limitation in mind if you are used to working with another IDE/toolset.

Rowley has been trying to get NXP to open up the interface details, so
that other tools can be used with the LPCXpresso, but haven't had any
success.

Leon
--
Leon Heller
G1HSM
Leon,

>>> 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

This causes so much confusion. We had a rather upset customer tell us
that it *does* support JTAG, and swore black is white that it did. IT
DOES NOT SUPPORT JTAG AT ALL.

LPC1100: SWD ONLY
LPC1300: SWD ONLY
LPC1700: SWD AND JTAG

It does not help that NXP have labelled up all the JTAG pins. THEY ARE
NOT JTAG CAPABLE. Really, no. Same for EFM32. As far as I can tell,
JTAG was there to aid the transition to SWD-only chips. Ditching th JTAG
interface and using SWD reduces silicon area. By how much? Well, NXP
told me that the M0 core was 1/3 the size of the CoreSight debug blocks
what was clearly crazy, so they just slashed through it.

Just to re-iterate: LPC1100 and LPC1300 both require SWD to debug.

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks V2 is out for LPC1700, LPC3100, LPC3200, SAM9, and more!
Hi,

> Also could be useful to know if it is possible to use that interface
> with a different IDE considering the very low price and that its speed
> is quite good.

The answer to that is, of course, no, you cannot do that--it's locked to
Code Red's IDE.

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks V2 is out for LPC1700, LPC3100, LPC3200, SAM9, and more!
On Thu, 04 Mar 2010 11:15:19 -0000, Leon Heller
wrote:

> On 04/03/2010 10:34, kevin_townsend2 wrote:
>>> Also could be useful to know if it is possible to use that interface
>>> with a different IDE considering the very low price and that its speed
>>> is quite good.
>>
>> The "LPC-Link" (the HW debugger) only works with the LPCXpresso IDE
>> (and perhaps Red Suite, though I've never tested it myself). It's a
>> good deal for the price if you don't mind working in the LPCXpresso
>> IDE, but limited to that environment (and there's no indication that
>> will ever change). It's a good deal for the price ... you just need to
>> keep that limitation in mind if you are used to working with another
>> IDE/toolset.
>
> Rowley has been trying to get NXP to open up the interface details, so
> that other tools can be used with the LPCXpresso, but haven't had any
> success.

That is not *quite* true. The locked LPC-Linkss are not "open". However,
there exist LPC-Links without keys loaded on them. We had another good
meeting with NXP in Nuremberg, and there will be movement in this area in
the future. However, we do not underestimate the amount of work required
to support the LPC-Link--it's quite extensive as we need to write the code
that goes on the LPC3000, that code isn't already "written" if you see
what I mean.

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks V2 is out for LPC1700, LPC3100, LPC3200, SAM9, and more!
I have done some experimenting and this is what I have found. I
bought one each of the LPCXpresso LPC1300 and LPC1100 kits. I
installed LPCXpresso IDE and compliled, programmed, and debugged the
blinky program. Great, but the LPCXpresso IDE pales in comparison to
Crossworks. LPCXpresso seemed slow and clunky.

Next, I cut the LPCLink away from the target portion of the LPC1100
board to get Crossworks working with the target. I soldered an 8-pin
header on the target board and made a cable to adapt the 8-pin header
to the standard 20-pin ARM JTAG interface.

I created a small project in Crossworks and first tried the Olimex
ARM-USB-OCD debugger. I could not make the Olimex debugger work. In
talking with Michael at Rowley, there is an adaptor required, that
they are preparing, to make the Olimex and other FTDI based debuggers
work in SWD mode. If I have this part wrong, someone from Rowley
please correct me.

Then I moved on to the J-Link, and after setting the "Target
Interface Type" property to SWD in Crossworks, I was able flash my
target and debug.

Jeff

--- In l..., "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???
>
> Jeff
>


Memfault State of IoT Report