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.

[FAQ] TDA4VM-Q1: How to enable cross domain UART access from PDK applications.

Part Number: TDA4VM-Q1


Tool/software:

On custom boards where UART instances are limited, how can I route debug output from my application running in one domain to a UART instance available in different domain?
Specially, I want to enable cross-domain UART usage from PDK based applications.

  • By default, when we enable UART from PDK applications, the UART instance corresponding to the running core's domain will be enabled. 

    For example: 
    If the application is built with UART support for an MCU domain core, the MCU domain UART instance will be enabled.
    If built for Main domain cores, the Main domain UART instance (UART0) will be enabled. 

    To use the UART instance across domains, the changes shown in the below patch are required.
    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/8132.0001_2D00_Enable_2D00_MAIN_2D00_UART2_2D00_in_2D00_ipc_5F00_echo_5F00_test_5F00_example_2D00_on_2D00_mcu1_5F00_0.patch

    This patch explicitly sets the UART domain and instance using Board_initParams to override the default configuration, which ties the UART instance of the current core's domain.

    We enabled an application (IPC echo test) running in the MCU domain using a UART instance available in the Main domain. 

    This is useful in scenarios where UART availability is limited to mixing with other functionality or any other on custom boards, and cross-domain access is required for logging or debugging purposes.