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.

EVMK2H PA EMAC RXISR Problem

Other Parts Discussed in Thread: 66AK2H12

hi, everyone

========================================================================

My test environmemt

Using EVM : EVMK2H

                     EVM A  Ethernet Port 1 <---> EVM B Ethernet Port 1 : Connected Ethernet Cable

Example Project : PA_emacExample_K2H66BiosExampleProject(source modified for test)

                             EVM A, B : CPSW_LOOPBACK_NONE

EVM A : Transmitter (Continue SendPacket (0))

               mac address : 0x00, 0x01, 0x02, 0x03, 0x04, 0x05

               ip address     : 192.168.1.1

               port               : 0x1234

EVM B : Receiver (waiting Cpsw_RxISR())

              mac address : 0x10, 0x11, 0x12, 0x13, 0x14, 0x15

               ip address     : 192.168.1.10

               port               : 0x5678

*. PC is confirmed that the frame sent from the EMV A. (Using wireshark)

========================================================================

Qusetion !!

EVM B' Cpsw_RxISR is not triggered.

But,

EVM B' STATB(0x02090c00) RXGOODFRAME increses.

Frame number of Transmitter is equal to EVM B' STATB RXGOODBRAME Number.

Why Cpsw_RxISR  is not triggering?

 

please help!

regards.

  • Hi,

    Did you run this test code on EVM-A only, not use two EVMs to communicate.
    Are you modified in this PA emac example code? If yes, share the modified source.
    Already We have discussed for communicate between EVMs  and EVM to PC, need to modify the PA emac example code as per the below post.
    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/386939/1366568#1366568

  • hi, Pubesh

    I shared my modified source code.

    please check source code.

    thanks.

    EVM_AB.zip

  • Hi,
    I have looked your code, it seems ok. Is there any progress on you side, do you need further follow-up on this, please let me know for the status.
  • Hi, Pubesh

    My current status is the same as last time.

    I can not solve the problem for cpsw_rxisr.

    ***********************************************************

    1. Two EVM

       EVM A : Transmitter

       EVM B : Reciever

    2. 1 EVM and 1 MY DSP Board(66AK2H12)

      EVM : Transmitter

      My Board : Receiver

     or

      EVM : Receiver

      My Board : Transmitter

    For all cases

    trasnmitter : not problem(verifed by wireshark)

    receiver     : not triggered Cpsw_RxIsr()

    Always...

    RXGOODFRAME register value of Receiver is equal to the TXGOODFRAME register value of Transmitter.

    ***********************************************************

    transmitter register : 0x02090b00 : 00000078

    transmitter register : 0x02090c00 : 00000078

    ***********************************************************

    rxisr waiting routine

         i = 0;
         while ((gRxCounter != gTxCounter) && (i < MAX_RETRIES))
         {
    //         CycleDelay (10000);
       
             CycleDelay (0x8000000);
            
             if (++ ct_show_ale >= 10) {
              view_ale_table();
              ct_show_ale = 0;
             }

          System_printf("Received %d packets so far...\n", gRxCounter);
             System_flush();
            
             if(cmd == 1) break;
         }
        
        

    ***********************************************************

    receiver console window message

    wait for all packets to be Received from EMAC port 0...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Port = 1, MAC address = 10:11:12:13:14:15, unicast_type = 3
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Port = 1, MAC address = 10:11:12:13:14:15, unicast_type = 3
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...
    Received 0 packets so far...

    red color message is displayed after being received from the transmitter.

    transmitter's pktMatch[] => change src mac address : 11 22 33 44 55 66

    ==>

    Received 0 packets so far...
    Received 0 packets so far...
    Port = 1, MAC address = 11:22:33:44:55:66, unicast_type = 3
    Received 0 packets so far...

    ***********************************************************

    I am convinced that correctly receives the transmitted packet.

    but.

    i don't know about the problem for cpsw_rxisr

    Is there a way to solve using the polling method?

    Please suggest a solution to this problem.

    Thanks.

  • Hi,

    The PA_emacExample_K2HC66BiosExampleProject is designed to run on core0 only. If you like to run on other single core, need to modify the test code.
    The application will output to the console its status progress and the number of sent/received packets and declare pass/fail.

    The Init_SGMII function should be platform-specific since it depends on the SGMII connections of the specific EVMs.
    cpswLpbkMode:

    CPSW_LOOPBACK_NONE           : No loopback. The application expects that the external device will swap the EMAC addresses and then forward the packet back.
    CPSW_LOOPBACK_INTERNAL   : SGMII internal loopback, i.e. the SGMII will loopback the packet as it is.
    CPSW_LOOPBACK_EXTERNAL  : The SGMII internal loopback is turned off. However, the application expects the extenal device (PC, Phy loopback) will loopback the packet as it is.

    Please see the Readme file, this will help you how to execute and test this code on EVM.

    Loading and Executing the project using MPM Client Utility:
       a) Bring up linux
       b) copy the DSP executable (e.g., PA_emacExample_K2HC66BiosExampleProject.out) to the filesystemExecute
       c) Execute below command to reset core0
           root@keystone-evm:~#mpmcl reset dsp0
       d) Execute below command to load the DSP image to core 0
           root@keystone-evm:~#mpmcl load dsp0 PA_emacExample_K2HC66BiosExampleProject.out
       e) Execute below command to run the DSP image from core 0
           root@keystone-evm:~#mpmcl run dsp0
       f) Execute below command to view System_printf() outputs from core0 trace/log message from Linux
           root@keystone-evm:~#cat /debug/remoteproc/remoteproc0/trace0

  • Hi,Did you check the CPSW loopback example?
    Do you have any updates on your test? you can close this thread, If this issue is solved.