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/AM3359: Running ICSS-EMAC Unit Test

I get another trouble for test with AM3359ICEv2, and need your help. I want to test the icss_emacMainTest_am335x.out experiment on ICEv2.

the step as follow:

1.Create the SD card on Windows7. With the software Win32DiskImager.exe, burn the am335x-evm-linux-rt-05.00.00.15.img to the SD card.

2.Insert the SD card in ICEv2 board, and power it on.

3.cd /boot, and renamed am335x-icev2-pru-excl-uio.dtb as am335x-icev2-prueth.dtb (new default dtb), reboot the board.

4.after connect the pru-port0 and pru-port1. cd /usr/bin and execute ./icss_emacMainTest_am335x.out

we get the result as:

root@am335x-evm:/usr/bin# ./icss_emacMainTest_am335x.out
ICSS_EMAC_testDrvInit: instance: 1, data0RamSize: 0x2000, data1RamSize: 0x2000, sharedDataRamSize: 0x3000, l3OcmcSize: 0x10000
ICSS_EMAC_testDrvInit: instance: 1, data0RamSize: 0x2000, data1RamSize: 0x2000, sharedDataRamSize: 0x3000, l3OcmcSize: 0x10000
Validate Firmware: Release1: 0x11, Release2: 0x85010004
ICSS_EMAC_testTaskPruss1: PRU1 ETH0: LINK IS UP, eth0 state: 1

============================================================
ICSS_EMAC_testTaskPruss1: Testing NonPromiscuous Mode
sending Unicast packets as destination address == eth own address
============================================================

packet transmission complete for packet(ICSS_EMAC_TEST_PRU1ETH0): 0
parser returned correct value: rdBufferL3Addr 0xb6dda8c0, port: 0x2, queue: 0x3
Unit Test Failure, packet mismatch occured

It looks like the test is failed. So what cause it failed?

On the other hand, We also test other SDK verison like 04.03.00.05, the result is same as the previous.

and some times we got the

Segment fault(core dump).

 

The final goal of us is to implement the TTS with the Linux on our board.

I want to rebuild the icss-emac. but the yocoto system is so large and I have never success build icss-emac by it.

Is there any icss-emac-lld and header files for build an application directly? where can we find it?

I need your help Nick.

Thanks very much.

 

  • Hello,

    Give me a day or so to look at this.

    To clarify, are you saying that your steps worked on the AM335x ICEv2 board in RT Linux Processors SDK 4.03, but the steps did not work on the AM335x ICEv2 board in RT Linux Processors SDK 5.00? Or are you saying that your steps did not work on either version of the SDK?

    For future readers, this is a continuation of the discussion in the post AM335x Linux PRU-ICSS Ethernet driver.

    Regards,
    Nick

  • Hi Nick.

    We have test SDK 4.03 and 5.00 all, it did not work on either version of the SDK, just like the result we showed previous.

    We also wan't to test the latest 5.03, but the image looks like lager than 16GB, and our SD card can't write it in.

    I want to rebuild the icss-emac. but the yocoto system is so large and I have never success build icss-emac by it.

    Is there any icss-emac-lld and header files  for building an application directly? where can we find it?

  • Hello,

    1) If you install the RT Linux SDK 5.3 on a Linux machine, you can cd to bin/ folder and run ./create-sdcard.sh to create your SD card. I was able to get SDK 5.3 to fit on an 8GB SD card.

    2) Are you testing using a loopback plug connected to each port? When the "Running ICSS-EMAC Unit Test in Linux User Space" section says the signals are "looped back with loopback cables", it means use loopback plugs rather than connecting an ethernet cable from one PRU port to the other port. If I plug an ethernet cable from one port to the other, I get your "Unit Test Failure" output on RT Linux SDK 5.3. I will test it again once I get my hands on some loopback plugs.

    3) Take a look at the ICSS_EMAC documentation here. The entire thing has good information, but you will want to look at section "Rebuild ICSS-EMAC in Linux User Space" in particular.

    Regards,

    Nick

  • I just confirmed that if you run the unit test with loopback plugs attached, then you get the expected output. (Unite test is located on your AM335x ICE v2 board under usr/bin).

    Marking this resolved. Feel free to continue the discussion if needed.

    Regards,
    Nick
  • Thanks Nick. I make a mistake in understanding the loopback plugs.
    Now the experiment is successed.