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.

Uart in 6748

Other Parts Discussed in Thread: OMAPL138, OMAP-L137

Hi,

I am using the 6748DSP and trying to do some basic test on uart. I just need to configure the uart to send some characters and in polling mode. I have followed all the steps metiioned in the spruh79(6748 reference manual) regarding the uart initialisation , but i cannot make it work. I just need simple uart. When i configure the MCR to work in loopback mode i can see the THR buffer data being loopbacked to RBR (from ccs).

But when in a non loopback mode, there is no tx or rx happening. I feel there is some clock to be enabled .  i cannot figure it out.. Please anyone can help on this.

30.2.7 Initialization
The following steps are required to initialize the UART:
1. Perform the necessary device pin multiplexing setup (see your device-specific data manual).
2. Set the desired baud rate by writing the appropriate clock divisor values to the divisor latch registers
(DLL and DLH).
3. If the FIFOs will be used, select the desired trigger level and enable the FIFOs by writing the
appropriate values to the FIFO control register (FCR). The FIFOEN bit in FCR must be set first, before
the other bits in FCR are configured.
4. Choose the desired protocol settings by writing the appropriate values to the line control register
(LCR).
5. If autoflow control is desired, write appropriate values to the modem control register (MCR). Note that
all UARTs do not support autoflow control, see your device-specific data manual for supported
features.
6. Choose the desired response to emulation suspend events by configuring the FREE bit and enable the
UART by setting the UTRST and URRST bits in the power and emulation management register
(PWREMU_MGMT).

 

  •  Hi forum,

    I am still not able to make the uart2 work on the L138 board.. Only the loopback is working but the normal mode is not working.(when connected through serial cable to a pc). Please anyone could send me a simple uart example which works on the Logicpd OmapL138 EVM development board.

    Your help would be highly appreciable.

  • I'd suggest checking the pinmux configuration. Maybe your UART2 pins are not muxed to the outside world.

  • Hi Norman,

    Thanks for the reply, I have made sure that the muxing is proper, by checking the ccs registers as well as memory dump. I can toggle when muxed as a gpio but cannot use it as a uart. Any ideas, is there any clock to be enabled??

     

  • I use the Spectrum Digital OMAP-L137 EVM. It uses UART2 by default. They make their BSL publicly available.

    URLs
    http://support.spectrumdigital.com/boards/evmomapl137/revg/
    http://support.spectrumdigital.com/boards/evmomapl137/revg/files/revg_EVMOMAPL137_BSL.zip

    Files of interest in the ZIP.
    evmc6747_v1/dsp/lib/bsl/evmc6747_uart.c
    evmc6747_v1/gel/evmc6747_dsp.gel

    I haven't dug too deep with clock or power domains on this processor. I vaguely remember the UART clocks are grouped with a lot of other peripherals. Because of that, the clock tends to be on. The successful loopback test would suggest that both clock and power are getting the UART module. Perhaps your baud divisor calc is incorrect. Maybe scope out the TX pin to check the baud rate.

  • Hi

    The UART hyperterminal code in the follow package should work without issues on the OMAPL138 LogicPD board, hope this helps

    http://processors.wiki.ti.com/index.php/QuickStartOMAPL1x_rCSL

    Regards

    Mukul