This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320C6742: UART0 communications failure

Part Number: TMS320C6742

I have been doing extensive development on this part -- no RTOS --and am using the UART for debugging. Among the first things I got working was the UART. But recently it has begun to fail.

This is what happens. 

I am prepared for an interrupt whenever the transmitter empties. When I feed a character to the UART0:THR register. The interrupt asserts. I have a breakpoint inside it, that is reliably hit, but after I step over or run through the HWREG(SOC_UART_0_REGS + UART_THR) instruction, no data appears in the register although the the IIR register flashes an interrupt pend which is cleared when the interrupt asserts again.

Does one of you geniuses recognize a familiar problem?

Here is the register file directly after a write to THR

UART0 UART
   RBR 0x00000000 Receiver Bu
   THR 0x00000000 Transmitt
   IER 0x00000007 The neratedwarded to the CPU. [Memory Mapped]
   IIR 0x000000C2 The interruenabled in the interrupt enable ry Mapped]
      Reserved ************************ Reserved
        FIFOEN 11 FIFOs Enabled Always 00b in Non-FIFO modthe FCR register is set
          Reserved ** Reserved
          INTID 001 - THRE Encodes the different types of interrupt
         IPEND 0 - PEND Interrupt Pending This bit is us
        FCR 0x000000C1 The FIFO control register (F trigger led. [Memory Mapped]
        LCR 0x00000003 The system programmer controls the format of Memory Mapped]
      MCR 0x00000000 The modem control register provides the ability to enable
     LSR 0x00000060 LSR provides informationhrough [Memory Mapped]
     MSR 0x00000001 Modem Status Register [Memory Mapped]
      SCR 0x00000000 Scratch Pad Register [Memory Mapped]
      DLL 0x00000036 DLL holds the least-signif

Any ideas?

  • Hi,

    Do you use just the uart in your application or do you synchronize with other peripherals? Does this happens when you remove the breakpoint and run your code?
    I am suspecting some timing issue here.

    Best Regards,
    Yordan
  • Thanks for your reply.

    This device uses the HPI, emif and DDR as well as the UART.
    Problem occurs at initialization and continues.
    I first noticed the problem while running independently outside of Code Composer and then confirmed it by stepping through. Since starting development I have sporadically had coordination problems with my tera term terminal, where gibberish is sometimes output at first use but then settles down as the device continues to operate.
    I am also pinging the hardware guy for further study of the problem.
    What timing issue should I look for?