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.

Linux/PROCESSOR-SDK-AM335X: EDMA3 test

Part Number: PROCESSOR-SDK-AM335X

Tool/software: Linux

Can anyone tell me how to use  edmatest.c example in AM335X_StarterWare_02_00_01_01 to transfer data and test. please explain me from compiling the code and elaborate all the steps. I want output something like this:

StarterWare AM335x Boot Loader

Copying application image from MMC/SD card to RAM

Jumping to StarterWare Application...

  

edmaTest: Initiating EDMAAppEDMA3Test Acnt=16000; Bcnt=1; Ccnt=1!!!

 

Result 0; Ticks clocked by the timer=5123

EDMA function used up 213 microseconds

  

Result 1; Ticks clocked by the timer=5139

EDMA function used up 214 microseconds

  

Result 2; Ticks clocked by the timer=5147

EDMA function used up 214 microseconds

  

EDMA3Test: Data write-read matching PASSED.

EDMA3Test PASSED.

  • Starterware has been obsoleted by TI and is no longer supported. Basic Starterware functionalities are now included in the RTOS Processor SDK. I have asked the RTOS team to comment. Please note that due to US holiday the responses may be delayed until the week of November 26th.
  • Thanks Biser,
    Please go through this link once. I have a severe time restriction please suggest me something.

    e2e.ti.com/.../2764049

    Any help in this regard appreciated.

    Thank you.
  • Hi,

    The Starterware is obsolete and not supported anymore. Please migrate to AM335x Processor SDK RTOS: software-dl.ti.com/.../index_FDS.html

    From your log, the EDMA test was booted from MMCSD card:
    1. You need a secondary boot bootloader (SBL) in the SD card, this file is called MLO.
    2. You need the EDMA test application in the SD card, the file is called app.

    When you insert the MMCSD card into AM335x EVM, power up. It should boot from RBL into SBL, the SBL parse the app and load the image into memory, then jump into it. So the app runs and prints the EDMA test results.

    The MLO and app needs to be TI image format. You may try if any pre-build binary worked for you.
    MLO: AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\<BOARD>\bootloader\Release_MMCSD\MLO
    app: AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\<BOARD>\edma\Release_EDMA\edmaTest_ti.bin

    For how to build it, please see the user guide AM335X_StarterWare_02_00_01_01\docs. Section StarterWare Project Creation.

    Regards, Eric
  • Thank you so much for your reply.

    1. Right now we have 16GB sandisk SD Card. It is made bootable with ti-processor-sdk-linux-am335x-evm-05.00.00.15. It has 2 partitions.
    1) boot contains MLO & u-boot.img
    2) rootfs contains kernal.

    2. Now I have a doubt that if I copy MLO from AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\<BOARD>\bootloader\Release_MMCSD\MLO to boot folder and app from AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\<BOARD>\edma\Release_EDMA\edmaTest_ti.bin to rootfs/boot folder and run will it work?
    please tell me where to copy these 2 files in my SD Card?

    Thanks.
  • Hi,

    AM335X_StarterWare_02_00_01_01 is a standalone code without Linux. If you have two partitions, either merge them into one and re-format it to FAT32. Or format the Linux boot partition and copy the MLO and app into it.

    Regards, Eric
  • Thanks for the help. It is working without Starterware.

    We enabled the CONFIG_DMATEST=m in Linux kernel config file (tisdk_am335x-evm_defconfig present in arch/arm/configs) folder of Linux.

    changed DESTDIR=/media/sbr/rootfs
    make linux
    sudo make linux-install
     
    (Earlier we missed the above 3 lines(in red color))
    and ran the dmatest using command: modprobe dmatest timeout=200 iterations=10000 run=1
     
    output:
    root@am335x-evm:~# modprobe dmatest timeout=200 iterations=10000 run=1
    [  585.652192] dmatest: Started 1 threads using dma1chan0
    [  585.667611] dmatest: Started 1 threads using dma1chan1
    root@am335x-evm:~# [  599.547727] dmatest: dma1chan1-copy0: summary 10000 tests, 0 failures 1388 iops 11161 KB/s (0)
    [  599.559230] dmatest: dma1chan0-copy0: summary 10000 tests, 0 failures 1392 iops 11001 KB/s (0)
     
    Now we want to modify the source of this dmatest application in which
    1. we will specify location of a file or array of data to be moved using dma .
    2. Transfer that file/data using dma between FPGA and AM335x processor.
    3. Display its throughput after the completion of transfer.
    Please refer the figure below .
    Please help me in this regard as I am new to this.
    Thank You.
  • Hi,

    You mentioned this is tested under Linux using command " dmatest using command: modprobe dmatest timeout=200 iterations=10000 run=1"=======> what is this dmatest application? Is this the starterware EDMA test you mentioned at the beginning? Or this is a Linux application? Where is the source code for dmatest and how this is compiled? I am afraid that they are not the same, correct me if I am wrong.

    Regards, Eric
  • That is not starterware's dmatest. It is linux( ti-processor-sdk-linux-am335x-evm-05.00.00.15_3) application, Inside kernel. It is present in /opt/ltp/runtest/ddt/.
  • Hi,

    Thanks for the clarification. I asked our Linux expert for help!

    Regards, Eric
  • You should be able to find the source code for dmatest in the kernel sources, under drivers/dma.

    I hope this is helpful to you.
  • I want to clear one thing from you. This DMA Test performed between processor and FPGA or within processor's memory only?
  • It is done all within DDR as this is a generic test that should work on any board. Customizing it to work with a specific set up is up to the developer and the system they are working with.

    I hope this helps. Thank you.
  • Thank you so much Ron B.