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.

PROCESSOR-SDK-J721S2: Questions about sample code uart DMA

Part Number: PROCESSOR-SDK-J721S2

Hi,

SDK:8.6.1.3      CORE: MCU1_0

 in the ti-processor -sdk-rtos-j721s2-evm-08_06_01_03/pdk_j721s2_08_06_01_03/packages/ti/build directory

 make UART_DMA_TestApp_freertos BOARD=j721s2_evm CORE=mcu1_0 BUILD_PROFILE=release Compile the UART sample code

After running, I read the MCU_UART register before UART_write and before UART_close respectively, and found that the bit3 of the registers UART_FCR and bit2 of UART_SCR are 0. According to the description of the TRM document, these two bits are currently no dma. How do I determine whether uart DMA is enabled?

Best regards

bingxian

  • 521177 13
    R MCU_UART0_MEM_DLL 0x0000000B 0x00000000
    R MCU_UART0_MEM_RHR 0x0000000B 0x00000000
    R MCU_UART0_MEM_THR 0x0000000B 0x00000000
    R MCU_UART0_MEM_DLH 0x0000000B 0x00000000
    R MCU_UART0_MEM_IER_CIR 0x0000000B 0x00000000
    R MCU_UART0_MEM_IER_IRDA 0x0000000B 0x00000000
    R MCU_UART0_MEM_IER_UART 0x0000000B 0x00000000
    R MCU_UART0_MEM_EFR 0x0000000B 0x000000C1
    R MCU_UART0_MEM_FCR 0x0000000B 0x000000C1
    R MCU_UART0_MEM_IIR_CIR 0x0000000B 0x000000C1
    R MCU_UART0_MEM_IIR_IRDA 0x0000000B 0x000000C1
    R MCU_UART0_MEM_IIR_UART 0x0000000B 0x000000C1
    R MCU_UART0_MEM_LCR 0x0000000B 0x00000003
    R MCU_UART0_MEM_MCR 0x0000000B 0x00000000
    R MCU_UART0_MEM_XON1_ADDR1 0x0000000B 0x00000000
    R MCU_UART0_MEM_LSR_CIR 0x0000000B 0x00000060
    R MCU_UART0_MEM_LSR_IRDA 0x0000000B 0x00000060
    R MCU_UART0_MEM_LSR_UART 0x0000000B 0x00000060
    R MCU_UART0_MEM_XON2_ADDR2 0x0000000B 0x00000060
    R MCU_UART0_MEM_MSR 0x0000000B 0x00000020
    R MCU_UART0_MEM_TCR 0x0000000B 0x00000020
    R MCU_UART0_MEM_XOFF1 0x0000000B 0x00000020
    R MCU_UART0_MEM_SPR 0x0000000B 0x00000000
    R MCU_UART0_MEM_TLR 0x0000000B 0x00000000
    R MCU_UART0_MEM_XOFF2 0x0000000B 0x00000000
    R MCU_UART0_MEM_MDR1 0x0000000B 0x00000000
    R MCU_UART0_MEM_MDR2 0x0000000B 0x00000000
    R MCU_UART0_MEM_SFLSR 0x0000000B 0x00000000
    R MCU_UART0_MEM_TXFLL 0x0000000B 0x00000000
    R MCU_UART0_MEM_RESUME 0x0000000B 0x00000000
    R MCU_UART0_MEM_TXFLH 0x0000000B 0x00000000
    R MCU_UART0_MEM_RXFLL 0x0000000B 0x00000000
    R MCU_UART0_MEM_SFREGL 0x0000000B 0x00000000
    R MCU_UART0_MEM_RXFLH 0x0000000B 0x00000000
    R MCU_UART0_MEM_SFREGH 0x0000000B 0x00000000
    R MCU_UART0_MEM_BLR 0x0000000B 0x00000040
    R MCU_UART0_MEM_UASR 0x0000000B 0x00000040
    R MCU_UART0_MEM_ACREG 0x0000000B 0x00000000
    R MCU_UART0_MEM_SCR 0x0000000B 0x00000000
    R MCU_UART0_MEM_SSR 0x0000000B 0x00000004
    R MCU_UART0_MEM_EBLR 0x0000000B 0x00000000
    R MCU_UART0_MEM_MVR 0x0000000B 0x47424E03
    R MCU_UART0_MEM_SYSC 0x0000000B 0x00000000
    R MCU_UART0_MEM_SYSS 0x0000000B 0x00000001
    R MCU_UART0_MEM_WER 0x0000000B 0x000000FF
    R MCU_UART0_MEM_CFPS 0x0000000B 0x00000069
    R MCU_UART0_MEM_RXFIFO_LVL 0x0000000B 0x00000000
    R MCU_UART0_MEM_TXFIFO_LVL 0x0000000B 0x00000000
    R MCU_UART0_MEM_IER2 0x0000000B 0x00000000
    R MCU_UART0_MEM_ISR2 0x0000000B 0x00000003
    R MCU_UART0_MEM_FREQ_SEL 0x0000000B 0x0000001A
    R MCU_UART0_MEM_ABAUD_1ST_CHAR 0x0000000B 0x00000000
    R MCU_UART0_MEM_BAUD_2ND_CHAR 0x0000000B 0x00000000
    R MCU_UART0_MEM_MDR3 0x0000000B 0x00000000
    R MCU_UART0_MEM_TX_DMA_THRESHOLD 0x0000000B 0x00000000
    R MCU_UART0_MEM_MDR4 0x0000000B 0x00000000
    R MCU_UART0_MEM_EFR2 0x0000000B 0x00000000
    R MCU_UART0_MEM_ECR 0x0000000B 0x00000018
    R MCU_UART0_MEM_TIMEGUARD 0x0000000B 0x00000000
    R MCU_UART0_MEM_TIMEOUTL 0x0000000B 0x00000000
    R MCU_UART0_MEM_TIMEOUTH 0x0000000B 0x00000000
    R MCU_UART0_MEM_SCCR 0x0000000B 0x00000007
    R MCU_UART0_MEM_ERHR 0x0000000B 0x00000000
    R MCU_UART0_MEM_ETHR 0x0000000B 0x00000000
    R MCU_UART0_MEM_MAR 0x0000000B 0x00000000
    R MCU_UART0_MEM_MMR 0x0000000B 0x00000000
    R MCU_UART0_MEM_MBR 0x0000000B 0x00000000
    
    521177 13
    R MCU_UART0_MEM_DLL 0x0000000B 0x00000000
    R MCU_UART0_MEM_RHR 0x0000000B 0x00000000
    R MCU_UART0_MEM_THR 0x0000000B 0x00000000
    R MCU_UART0_MEM_DLH 0x0000000B 0x00000004
    R MCU_UART0_MEM_IER_CIR 0x0000000B 0x00000004
    R MCU_UART0_MEM_IER_IRDA 0x0000000B 0x00000004
    R MCU_UART0_MEM_IER_UART 0x0000000B 0x00000004
    R MCU_UART0_MEM_EFR 0x0000000B 0x000000C1
    R MCU_UART0_MEM_FCR 0x0000000B 0x000000C1
    R MCU_UART0_MEM_IIR_CIR 0x0000000B 0x000000C1
    R MCU_UART0_MEM_IIR_IRDA 0x0000000B 0x000000C1
    R MCU_UART0_MEM_IIR_UART 0x0000000B 0x000000C1
    R MCU_UART0_MEM_LCR 0x0000000B 0x00000003
    R MCU_UART0_MEM_MCR 0x0000000B 0x00000000
    R MCU_UART0_MEM_XON1_ADDR1 0x0000000B 0x00000000
    R MCU_UART0_MEM_LSR_CIR 0x0000000B 0x00000060
    R MCU_UART0_MEM_LSR_IRDA 0x0000000B 0x00000060
    R MCU_UART0_MEM_LSR_UART 0x0000000B 0x00000060
    R MCU_UART0_MEM_XON2_ADDR2 0x0000000B 0x00000060
    R MCU_UART0_MEM_MSR 0x0000000B 0x00000022
    R MCU_UART0_MEM_TCR 0x0000000B 0x00000020
    R MCU_UART0_MEM_XOFF1 0x0000000B 0x00000020
    R MCU_UART0_MEM_SPR 0x0000000B 0x00000000
    R MCU_UART0_MEM_TLR 0x0000000B 0x00000000
    R MCU_UART0_MEM_XOFF2 0x0000000B 0x00000000
    R MCU_UART0_MEM_MDR1 0x0000000B 0x00000000
    R MCU_UART0_MEM_MDR2 0x0000000B 0x00000000
    R MCU_UART0_MEM_SFLSR 0x0000000B 0x00000000
    R MCU_UART0_MEM_TXFLL 0x0000000B 0x00000000
    R MCU_UART0_MEM_RESUME 0x0000000B 0x00000000
    R MCU_UART0_MEM_TXFLH 0x0000000B 0x00000000
    R MCU_UART0_MEM_RXFLL 0x0000000B 0x00000000
    R MCU_UART0_MEM_SFREGL 0x0000000B 0x00000000
    R MCU_UART0_MEM_RXFLH 0x0000000B 0x00000000
    R MCU_UART0_MEM_SFREGH 0x0000000B 0x00000000
    R MCU_UART0_MEM_BLR 0x0000000B 0x00000040
    R MCU_UART0_MEM_UASR 0x0000000B 0x00000040
    R MCU_UART0_MEM_ACREG 0x0000000B 0x00000000
    R MCU_UART0_MEM_SCR 0x0000000B 0x00000000
    R MCU_UART0_MEM_SSR 0x0000000B 0x00000004
    R MCU_UART0_MEM_EBLR 0x0000000B 0x00000000
    R MCU_UART0_MEM_MVR 0x0000000B 0x47424E03
    R MCU_UART0_MEM_SYSC 0x0000000B 0x00000000
    R MCU_UART0_MEM_SYSS 0x0000000B 0x00000001
    R MCU_UART0_MEM_WER 0x0000000B 0x000000FF
    R MCU_UART0_MEM_CFPS 0x0000000B 0x00000069
    R MCU_UART0_MEM_RXFIFO_LVL 0x0000000B 0x00000000
    R MCU_UART0_MEM_TXFIFO_LVL 0x0000000B 0x00000000
    R MCU_UART0_MEM_IER2 0x0000000B 0x00000000
    R MCU_UART0_MEM_ISR2 0x0000000B 0x00000003
    R MCU_UART0_MEM_FREQ_SEL 0x0000000B 0x0000001A
    R MCU_UART0_MEM_ABAUD_1ST_CHAR 0x0000000B 0x00000000
    R MCU_UART0_MEM_BAUD_2ND_CHAR 0x0000000B 0x00000000
    R MCU_UART0_MEM_MDR3 0x0000000B 0x00000000
    R MCU_UART0_MEM_TX_DMA_THRESHOLD 0x0000000B 0x00000000
    R MCU_UART0_MEM_MDR4 0x0000000B 0x00000000
    R MCU_UART0_MEM_EFR2 0x0000000B 0x00000000
    R MCU_UART0_MEM_ECR 0x0000000B 0x00000018
    R MCU_UART0_MEM_TIMEGUARD 0x0000000B 0x00000000
    R MCU_UART0_MEM_TIMEOUTL 0x0000000B 0x00000000
    R MCU_UART0_MEM_TIMEOUTH 0x0000000B 0x00000000
    R MCU_UART0_MEM_SCCR 0x0000000B 0x00000007
    R MCU_UART0_MEM_ERHR 0x0000000B 0x00000000
    R MCU_UART0_MEM_ETHR 0x0000000B 0x00000000
    R MCU_UART0_MEM_MAR 0x0000000B 0x00000000
    R MCU_UART0_MEM_MMR 0x0000000B 0x00000000
    R MCU_UART0_MEM_MBR 0x0000000B 0x00000000
    

    Register values

  • Hi bingxian,

    Do you run all the tests in the example? What is the result in the logs?

    Thanks,
    Neehar

  • Hi, Neehar

    According to my compile command, I am running the example UART DMA read write test in block mode

    After running the log is as follows:

    SBL Revision: 01.00.10.01 (Mar 19 2024 - 17:21:51)
    TIFS  ver: 8.6.3--1-g2249f (Chill Capybara
    
    
     UART UT 0
    
     UART DMA read write test in block mode
    
     enter the data of 16 character
    
    

    Best regards

    bingxian

  • Hi bingxian,

    What are the test results? Does the test pass when you enter 16 characters?

    Thanks,

    Neehar

  • Hi, Neehar

    The log after 16 characters is as follows.

    ▒SBL Revision: 01.00.10.01 (Mar 19 2024 - 17:21:51)
    TIFS  ver: 8.6.3--1-g2249f (Chill Capybara
    
    
     UART UT 0
    
     UART DMA read write test in block mode
    
     enter the data of 16 character
    
     Data entered is as follows
    asdfghjklqwertyu
     enter the data of 16 character
    
    

    My question is which register should I read to confirm that MCU_UART0 is transmitted using DMA? Or how can I confirm that MCU_UART0 is transmitted using DMA?

    Best regards

    Bingxian

  • Hi Bingxian,

    When the test is running is, can you put a log to see if the dmaMode variable is true?

    I am currently comparing your register dump.

    Thanks,

    Neehar

  • Hi,Neehar

    I modified a simple test example based on the sample code to see the value of the dmaMode and found that the value of the dmaMode was indeed 1

    Best regards

    Bingxian

  • Hi Bingxian,

    DMA mode should be active, however, your register dump is similar to mine. Let me look into this and get back to you,
    Thanks,

    Neehar

  • HI bingxian,

        As I wrote to you in the e-mail, the register DMA_MDOE  is write only, we can't get it by register read. But we enabled in the  source code UART_open_v1. Please check. 

    Linjun