EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

DEBUG UART

Started by majun October 12, 2005
I am new user of AT91SAM7S64, can I use the DEBUG UART to DEBUG programn like JTAG or only use it to download programn to flash through SAM-BA?


--- In AT91SAM7@AT91..., "majun" <majun@s...> wrote:
>
> I am new user of AT91SAM7S64, can I use the DEBUG UART to DEBUG
programn like JTAG or only use it to download programn to flash
through SAM-BA?
>

The Debug UART is a regular UART. It is not as capable as a USART.
There is nothing stopping you using this as a regular UART for non-
debugging purposes (ie. as a third UART).

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.


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


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



The 2024 Embedded Online Conference