[ell-i-developers] Re: OpenOCD and ellduino

  • From: "Atte Peltomaki" <atte.peltomaki@xxxxxx>
  • To: ell-i-developers@xxxxxxxxxxxxx
  • Date: Mon, 9 Jun 2014 13:20:10 +0300

On Sun, Jun 08, 2014 at 03:06:33PM +0300, Pekka Nikander wrote:
> > I think SWD is better but JTAG programmer/debuggers are more common.
> > The next generation boards are going to include other parts than just
> > the MCU that support JTAG and none of them have SWD. That pretty much
> > means we need all JTAG pins.
> > 
> > From what I’ve understood, the SWD and JTAG are pretty much the same
> > from semantic point of view, but their signaling at "lower layers"
> > are different. I think they have 1:1 mapping, so supporting both should
> > not be too hard.
> 
> At least in STM CPUs SWD is a subset of JTAG, repurposing the JTAG TMS
> for SWDIO and TCK for SWCLK.  The low-end STM32 MCUs don't include
> full JTAG support, but they do include SWD support.  I haven't studied
> other manufacturer's dies, so I don't know about them.  The Baselli
> schematics has an example of how to wire them.

ARM Cortex M0 has only SWD, M1-M4 have also JTAG.

From functionality perspective, SWD and JTAG are simply transports that
expose the underlying hardware (Access Port in ARM slang). Details are
in the ARM Debug Interface v5 specification, see pages 31 (1-7) and 33
(1-9):
http://www.pjrc.com/arm/pdf/doc/ARM_debug.pdf

I understood the point of SWD is to simply be a drop-in replacement for
JTAG with reduced pin count. Those MCUs that support both, repurpose a
subset of the JTAG pins for SWD and include a mechanism for selecting
between the two protocols.

-- 
Atte Peltomäki
     atte.peltomaki@xxxxxx <> http://kameli.org
"Your effort to remain what you are is what limits you"

Other related posts: