EmbeddedRelated.com
Forums
Memfault Beyond the Launch

RTCK on lpc1313 (Up? Down? Does it matter?)

Started by kevin_townsend2 October 8, 2009
I should get a few samples of the LPC1313 and LPC1343 tommorow from Digikey, and was just finishing off a simple board to test them out. I've added JTAG, and broke out most of the peripherals and it looks simple enough. The SCK kind of threw me off since there are three of them, but digging around in the user manual it seems you simply need to indicate which one you are using via the IOCON SCK register (p.80 of v0.07).

For the JTAG interface, though, since RTCK isn't being used (nor for the 1768) I'm wondering if I should pull it high or low, or if it really matters? I'm mostly just curious if something like Crossworks or OpenOCD is expecting some specific state from RTCK. I've left it pulled up for the moment, but I've seen it both up and down on different boards. Can anyone with better knowledge of JTAG suggest what to do with this pin? At worst I'll just add resistors up and down and populate them as required, but it would be nice to get it right the first time.

In any case, I'm seriously impressed with NXP's pricing for the LPC1213 and LPC1343. I'd hate to be in the 8-bit business with prices/performance like that to compete with!

An Engineer's Guide to the LPC2100 Series

Hi Kevin,

--- In l..., "kevin_townsend2" wrote:
>
> I should get a few samples of the LPC1313 and LPC1343 tommorow from Digikey, and was just finishing off a simple board to test them out. I've added JTAG, and broke out most of the peripherals and it looks simple enough. The SCK kind of threw me off since there are three of them, but digging around in the user manual it seems you simply need to indicate which one you are using via the IOCON SCK register (p.80 of v0.07).
>
> For the JTAG interface, though, since RTCK isn't being used (nor for the 1768) I'm wondering if I should pull it high or low, or if it really matters? I'm mostly just curious if something like Crossworks or OpenOCD is expecting some specific state from RTCK. I've left it pulled up for the moment, but I've seen it both up and down on different boards. Can anyone with better knowledge of JTAG suggest what to do with this pin? At worst I'll just add resistors up and down and populate them as required, but it would be nice to get it right the first time.
>

Please bear in mind that the LPC13xx cannot be debugged through JTAG. You have to use SWD for this!
That rules out OpenOCD for the time being...

Rolf

Rolf:

That's what I thought, but the datasheet gave me the impression that it was possible. Why do they provide all the signals for JTAG? ... seems like a waste of pins (that aren't required by SWD)?

Came across this from Keil (see below) that implies SWD is compatible with JTAG connectors:

http://www.keil.com/coresight/

Looking here, they also seem to imply there is some legacy support for standard JTAG:

http://www.embedded.com/products/softwaretools/209400295?cid=RSSfeed_embedded_news

Is it simply a matter of updating something on the software side (for example in OpenOCD or Crossworks) or will it entail new debugging altogether (that's not the impression I had but I could be entirely wrong)?

Kevin.
--- In l..., "rolf_meeser" wrote:
>
> Hi Kevin,
>
> --- In l..., "kevin_townsend2" wrote:
> >
> > I should get a few samples of the LPC1313 and LPC1343 tommorow from Digikey, and was just finishing off a simple board to test them out. I've added JTAG, and broke out most of the peripherals and it looks simple enough. The SCK kind of threw me off since there are three of them, but digging around in the user manual it seems you simply need to indicate which one you are using via the IOCON SCK register (p.80 of v0.07).
> >
> > For the JTAG interface, though, since RTCK isn't being used (nor for the 1768) I'm wondering if I should pull it high or low, or if it really matters? I'm mostly just curious if something like Crossworks or OpenOCD is expecting some specific state from RTCK. I've left it pulled up for the moment, but I've seen it both up and down on different boards. Can anyone with better knowledge of JTAG suggest what to do with this pin? At worst I'll just add resistors up and down and populate them as required, but it would be nice to get it right the first time.
> > Please bear in mind that the LPC13xx cannot be debugged through JTAG. You have to use SWD for this!
> That rules out OpenOCD for the time being...
>
> Rolf
>

Hi Kevin,

--- In l..., "kevin_townsend2" wrote:
> Came across this from Keil (see below) that implies SWD is compatible with JTAG connectors:
>
> http://www.keil.com/coresight/
>
> Looking here, they also seem to imply there is some legacy support for standard JTAG:
>
> http://www.embedded.com/products/softwaretools/209400295?cid=RSSfeed_embedded_news
>

The serial wire debugging is the natural option for the M3 core. ARM calls this SW-DP. This is all the LPC13xx has. An implementer can add the JTAG debug port, and that is called SWJ-DP. The LPC17xx has this option.
> Is it simply a matter of updating something on the software side (for example in OpenOCD or Crossworks) or will it entail new debugging altogether (that's not the impression I had but I could be entirely wrong)?
>

The debug hardware needs to be prepared for the bidirectional data line of the serial wire interface at least. I use J-Link boxes most of the time, and I had to replace it by a newer revison (SWD support starts with rev 6 or 7, not sure anymore...)

Software needs specific SWD support. I'm sure that it is not yet available for OpenOCD. I don't know about Crossworks, but Paul will tell us :-)

Rolf

Rolf:

Thanks for the clarification. I'll simply have to make due with ISP until I have some working hardware (my J-Link is probably too old, and I got the impression from something I came across from Paul on Google that I'll probably need to physically update my CrossConnect as well). The message from Paul is old, though ... hopefully he can clarify the situation a bit:

https://www.luminarymicro.com/index.php?option=com_joomlaboard&id%&catid=5&func=sb_pdf

It's worth changing anyway for 8 hardware breakpoints (2 was sometimes pretty tight on the ARM7), and not having to sacrifice half your pins while debugging.

I'm completely in love with the 1300 family, in any case ... $2/100 on Digikey for 8KB SRAM/32KB Flash on a modern, 70MHz 32-bit core ... it's hard to argue with that! Lets hope the 1343 is only slightly more expensive with USB.

Kevin.

--- In l..., "rolf_meeser" wrote:
>
> Hi Kevin,
>
> --- In l..., "kevin_townsend2" wrote:
> > Came across this from Keil (see below) that implies SWD is compatible with JTAG connectors:
> >
> > http://www.keil.com/coresight/
> >
> > Looking here, they also seem to imply there is some legacy support for standard JTAG:
> >
> > http://www.embedded.com/products/softwaretools/209400295?cid=RSSfeed_embedded_news
> > The serial wire debugging is the natural option for the M3 core. ARM calls this SW-DP. This is all the LPC13xx has. An implementer can add the JTAG debug port, and that is called SWJ-DP. The LPC17xx has this option.
> > Is it simply a matter of updating something on the software side (for example in OpenOCD or Crossworks) or will it entail new debugging altogether (that's not the impression I had but I could be entirely wrong)?
> > The debug hardware needs to be prepared for the bidirectional data line of the serial wire interface at least. I use J-Link boxes most of the time, and I had to replace it by a newer revison (SWD support starts with rev 6 or 7, not sure anymore...)
>
> Software needs specific SWD support. I'm sure that it is not yet available for OpenOCD. I don't know about Crossworks, but Paul will tell us :-)
>
> Rolf
>

Rolf:

I just ordered a J-Link since apparently Crossworks 2.0 supports SWD with it and the non-commercial version of the Segger J-Link was reasonably cheap. I'm sure Rowley will update their CrossConnect soon -- which I've been using until now and have been very happy with -- but I can't speak for them either. Did you get a 10 pin cable with your device when you upgraded, though. It isn't mentionned on their website and the only optional cable offered is 14-pins? As I understand it the 20 pin adapters can still work, but I've noticed a lot of boards have the smaller 10 pin connectors as well (which is nice ... who needs 9 GNDs anyway?).

Now to get my first attempt at a 1313 board out the door and see where I can get with it ...

Kevin

--- In l..., "rolf_meeser" wrote:
>
> Hi Kevin,
>
> --- In l..., "kevin_townsend2" wrote:
> > Came across this from Keil (see below) that implies SWD is compatible with JTAG connectors:
> >
> > http://www.keil.com/coresight/
> >
> > Looking here, they also seem to imply there is some legacy support for standard JTAG:
> >
> > http://www.embedded.com/products/softwaretools/209400295?cid=RSSfeed_embedded_news
> > The serial wire debugging is the natural option for the M3 core. ARM calls this SW-DP. This is all the LPC13xx has. An implementer can add the JTAG debug port, and that is called SWJ-DP. The LPC17xx has this option.
> > Is it simply a matter of updating something on the software side (for example in OpenOCD or Crossworks) or will it entail new debugging altogether (that's not the impression I had but I could be entirely wrong)?
> > The debug hardware needs to be prepared for the bidirectional data line of the serial wire interface at least. I use J-Link boxes most of the time, and I had to replace it by a newer revison (SWD support starts with rev 6 or 7, not sure anymore...)
>
> Software needs specific SWD support. I'm sure that it is not yet available for OpenOCD. I don't know about Crossworks, but Paul will tell us :-)
>
> Rolf
>

Hi Kevin,

I have the standard 20-pin cable. I thought about building an adapter board for it.

Keil's ULINK is a bit smarter here. It has all the standard connecters internally, so it's just a matter of plugging a new cable.

Rolf

--- In l..., "kevin_townsend2" wrote:
>
> Rolf:
>
> I just ordered a J-Link since apparently Crossworks 2.0 supports SWD with it and the non-commercial version of the Segger J-Link was reasonably cheap. I'm sure Rowley will update their CrossConnect soon -- which I've been using until now and have been very happy with -- but I can't speak for them either. Did you get a 10 pin cable with your device when you upgraded, though. It isn't mentionned on their website and the only optional cable offered is 14-pins? As I understand it the 20 pin adapters can still work, but I've noticed a lot of boards have the smaller 10 pin connectors as well (which is nice ... who needs 9 GNDs anyway?).
>
> Now to get my first attempt at a 1313 board out the door and see where I can get with it ...
>
> Kevin
>
> --- In l..., "rolf_meeser" wrote:
> >
> > Hi Kevin,
> >
> > --- In l..., "kevin_townsend2" wrote:
> > > Came across this from Keil (see below) that implies SWD is compatible with JTAG connectors:
> > >
> > > http://www.keil.com/coresight/
> > >
> > > Looking here, they also seem to imply there is some legacy support for standard JTAG:
> > >
> > > http://www.embedded.com/products/softwaretools/209400295?cid=RSSfeed_embedded_news
> > >
> >
> > The serial wire debugging is the natural option for the M3 core. ARM calls this SW-DP. This is all the LPC13xx has. An implementer can add the JTAG debug port, and that is called SWJ-DP. The LPC17xx has this option.
> >
> >
> > > Is it simply a matter of updating something on the software side (for example in OpenOCD or Crossworks) or will it entail new debugging altogether (that's not the impression I had but I could be entirely wrong)?
> > >
> >
> > The debug hardware needs to be prepared for the bidirectional data line of the serial wire interface at least. I use J-Link boxes most of the time, and I had to replace it by a newer revison (SWD support starts with rev 6 or 7, not sure anymore...)
> >
> > Software needs specific SWD support. I'm sure that it is not yet available for OpenOCD. I don't know about Crossworks, but Paul will tell us :-)
> >
> > Rolf
>

Rolf:

Thanks for clearing everything up. I've got a bunch of Molex 10 and 20 pin connectors in both male and female. I'll just make a custom cable and be done with it, though it would be nice if Segger could put one out as well.

Here's an image showing the two different pin outs if anyone else comes across this via Google, etc.:

http://img246.imageshack.us/img246/8255/swdjtagconnectors.jpg

Kevin.

--- In l..., "rolf_meeser" wrote:
>
> Hi Kevin,
>
> I have the standard 20-pin cable. I thought about building an adapter board for it.
>
> Keil's ULINK is a bit smarter here. It has all the standard connecters internally, so it's just a matter of plugging a new cable.
>
> Rolf
>
> --- In l..., "kevin_townsend2" wrote:
> >
> > Rolf:
> >
> > I just ordered a J-Link since apparently Crossworks 2.0 supports SWD with it and the non-commercial version of the Segger J-Link was reasonably cheap. I'm sure Rowley will update their CrossConnect soon -- which I've been using until now and have been very happy with -- but I can't speak for them either. Did you get a 10 pin cable with your device when you upgraded, though. It isn't mentionned on their website and the only optional cable offered is 14-pins? As I understand it the 20 pin adapters can still work, but I've noticed a lot of boards have the smaller 10 pin connectors as well (which is nice ... who needs 9 GNDs anyway?).
> >
> > Now to get my first attempt at a 1313 board out the door and see where I can get with it ...
> >
> > Kevin
> >
> > --- In l..., "rolf_meeser" wrote:
> > >
> > > Hi Kevin,
> > >
> > > --- In l..., "kevin_townsend2" wrote:
> > > > Came across this from Keil (see below) that implies SWD is compatible with JTAG connectors:
> > > >
> > > > http://www.keil.com/coresight/
> > > >
> > > > Looking here, they also seem to imply there is some legacy support for standard JTAG:
> > > >
> > > > http://www.embedded.com/products/softwaretools/209400295?cid=RSSfeed_embedded_news
> > > >
> > >
> > > The serial wire debugging is the natural option for the M3 core. ARM calls this SW-DP. This is all the LPC13xx has. An implementer can add the JTAG debug port, and that is called SWJ-DP. The LPC17xx has this option.
> > >
> > >
> > > > Is it simply a matter of updating something on the software side (for example in OpenOCD or Crossworks) or will it entail new debugging altogether (that's not the impression I had but I could be entirely wrong)?
> > > >
> > >
> > > The debug hardware needs to be prepared for the bidirectional data line of the serial wire interface at least. I use J-Link boxes most of the time, and I had to replace it by a newer revison (SWD support starts with rev 6 or 7, not sure anymore...)
> > >
> > > Software needs specific SWD support. I'm sure that it is not yet available for OpenOCD. I don't know about Crossworks, but Paul will tell us :-)
> > >
> > > Rolf
> > >
>


Memfault Beyond the Launch