--- In AT91SAM7@AT91..., "Eric Engler" <englere.geo@y...>
wrote:
>
> >
> > The debug uart should not ne confused with the Ddebug
Communications
> > Channel (DCC). The DCC provides a mechanism
for communicating
with a
> > host via JTAG registers.
> >
>
> I thought you could access the DCC from DBGU?
>
> I'm also interested in learning how to access the JTAG features, so
> any info you can provide is appreciated!
>
On a regular ARM7 core (eg.AT91FRxxx) , the software can only see
the DCC via coprocessor commands (MRC and MCR instructions). The
JTAG TAP can access the DCC from the host side.
On the SAM7 (and I think on other ARM7S parts like Philips LPCxxx),
the DCC status (called COMMTX and COMMRX in the SAM7 docs) are also
available as interrupt sources and are visible via a DCC status
register. However, you still need to use MRC and MCR to read/write
the actual DCC data.
The addition of this extra interrupt capability means that you can
handle the DCC as an interrupt rather than just polled. This means
you can crank up the throughput for debug streams etc.
Since the DCC transfers are 32 bits wide, they allow you to do some
interesting things that it is harder to do with a regular 8-bit
UART. However, you need a JTAG interface that supports DCC handling.