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.

LP-AM263P: XDS/UART0 For all SDK examples RX does not work, but TX is ok

Part Number: LP-AM263P
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hello,

I've been running LP-AM263P for a few weeks with minimal issues: GPIO, I2C, SPI, PWM, QEP, ADCs are all working fine.

However, after many hours I've not yet been able to get the receive aspect of the SDK UART examples working. The brief examples from the 'Academy' page don't work on RX either.

The demos all either end up spinning forever waiting for an interrupt/semaphore/mutex/etc which never comes, or in the SDK blocking polled demo it immediately resets the cpu and boot loops**.

The TX channel (MCU to PC) is working fine, only the RX channel is not. I scoped U27 pins 2 and 7, and R327, and saw reasonable voltages & uart signal there when sending data from PC to MCU, so if it's a hardware issue, the problem is not with the PC, XDS, or isolator.

Since the AM263Px Academy UART section says very little besides "Note: This module is under development and will be available in the future releases", and the SDK release notes mention that DMA is unsupported... the UART documentation in general seems to be a work in progress and I thought it worthwhile to ask here if there's any tips you could please provide? 

This is with SDK mcu_plus_sdk_am263px_10_01_00_34 and CCS 20.1.0.6__1.7.0, but the same behavior on earlier versions before updating.

Thanks,
Chris

**PS: in the case of mcu_plus_sdk_am263px_10_01_00_34/[...]/uart_echo_polling_lld_am263px-lp_r5fss0-0_nortos_ti-arm-clang it gets stuck in a loop resetting continuously because for some reason (if the line buffer is empty?) it executes the UART handle struct's errorcallback function pointer .... but the demo never initializes the error callback and it has a value of 0x0, so when the lld executes that callback the cpu jumps to the reset vector at 0x0 and reboots the system, which seems like a mistake in that particular demo.

This occurs at uart_v0_lld.c UART_procLineStatusErr(UARTLLD_Handle hUart), at line 2710: hUart->hUartInit->errorCallbackFxn(hUart);

  • Also, in an empty project I configured the UART0 RX pin as a GPIO input (Pin name UART0 RX, which sysconfig is mapping as GPIO0 pin 27), and confirmed that when reading the pin as a GPIO it shows high when idle, and reads low (hits a breakpoint) as soon as I send a character from the PC terminal. So the pinmux isn't burned and this is almost certainly a software issue with the SDK.

    Chris

  • Problem has been solved. All it took was enabling the pull-up on the UART0_RXD/A7 pin via sysconfig. 

    Suggest you update the launchpad SDK examples with this set, as none of the examples work as-is.

  • Hi Chris R,

    Apologies you had to face this issue. Let me reproduce this locally on my Launchpad and verify on ControlCard as well. Based on the results, I shall raise a high priority bug in the SDK for a fix.

    Regards,
    Shaunak

  • Hi Chris,

    I tried the UART ECHO POLLING LLD example on both AM263Px-LP and AM263Px-CC. Both worked out-of-box as expected (Tx and Rx).

    All it took was enabling the pull-up on the UART0_RXD/A7 pin via sysconfig. 

    It seems to work with "No Pull". I did not have to configure any Pull-up for the Tx or Rx pins

    Pinmux Screenshot attached if for AM263Px-LP PROC "A" revision.

    Regards,
    Shaunak