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.

RTOS/AM5708: OS-less peripheral example with DMA

Part Number: AM5708
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

Hi Support,

my customer is using AM57xx and is having issues iwth serial communication with DMA under TI-RTOS. He wants using CSL without any TI-RTOS LLD and OSAL, etc. wrappers. They need just to submit data and read a flag of DMA transfer completed.  They adapted the LLD EDMA3 driver, it seems it is hardcoded for SPI only, they tried to use that code for UART IO, and the whole software crashed. They really would like to use the lowest level of the TI SDK drivers, to have flexibility and full control what is happening inside our bare-metal software, besides utilizing the very basic features of the SPI and UART IOs (just fixed byte stream, no other advanced stuff) but unfortunately it is not well documented.

I have seen a C6000 EDMA3 TI training, it was mostly about setting of the PaRAM fields during preparing of the DMA transaction for several scenarios, it was very nice till I had to setup the EDMA3 transaction for UART, where is combination of the previously meant FIFO stuff, dummy linked PaRAM, etc. even I had had adopted the UART DMA example. 

It would be nice to prepare some very basic demo, how to copy data from an SPI to UART, using DMA for both IOs, how to configure and submit DMA transaction using the CSL only, no interrupts, just flags polling only, can you help me providing such example to customer?

Thanks and regards,

Alberto

  • The RTOS team have been notified. They will respond here.
  • Hi,

    For the SPI and UART with DMA, the Processor SDK RTOS has both driver examples like below:
    MCSPI_BasicExample_Dma_idkAM572x_armTestProject
    UART_BasicExample_idkAM572x_DMA_armTestproject

    Are those the customer working with? Those driver examples are SYSBIOS examples, and highly abstracted as customer mentioned. As they trying an OS-less example with DMA support, do they mean not only the EDMA portion but the SPI driver or UART driver itself needs to be OS-less?

    "It would be nice to prepare some very basic demo, how to copy data from an SPI to UART, using DMA for both IOs" Do you mean that combine the SPI and UART driver example together? Like read data from SPI using EDMA and put into the UART? And this is just one direction?

    Have customer ever looked at the diagnostic examples for MCSPI and UART under pdk_am57xx_1_0_x\packages\ti\board\diag\ mcspi and uart folders? Those are bare metals, just without EDMA. Those code are straight forward, may be they can take a look. Then the missing part is EDMA, we will see how to add this.

    Regards, Eric
  • Eric,

    please note that SPI and UART without DMA work fine.
    They have issues with integrating the EDMA3 itself into their project.
    Is this clarifying better the situation?

    Thanks and regards,
    Alberto
  • Alberto,

    "please note that SPI and UART without DMA work fine."==========>what they used for SPI and UART testing? TI driver examples using SYSBIOS? Now they want to replace the EDMA with CSL, so they want:
    1) SYSBIOS SPI + CSL style EDMA
    or
    2) SYSBIOS UART + CSL style EDMA
    or
    3) SYSBIOS UART + SPI merged together + CSL style EDMA
    or
    4) bare metal SPI + UART + CSL style EDMA (everything is bare metal)?

    Can you clarify?

    Regards, Eric
  • Eric,

    Customer prefers the 4th option, the bare-metal SPI <-> UART involving EDMA, plus no interrupt possible, just reading a DMA transfer completed register.
    I look forward to read your feedback.

    Thanks and regards,
    Alberto
  • Alberto,

    Thanks for clarify the requirement from customer! This requires to re-write UART and SPI test application in bare metal, and add CSL EDMA for the data movement demo, this takes time to develop. Can customer look at the bare metal examples and start from there, and we provide help when they have issues?

    Regards, Eric