Quantcast
Channel: Embedded Software (Read Only)
Viewing all articles
Browse latest Browse all 25965

Forum Post: Sometimes NDK doesn't response to ping

$
0
0

Hello:

Sometimes my NDK will not work and doesn't response to ping command. 

I use CCS to check which point the program is running. I found that it is either in Hwi_checkStack() at Hwi_statck.c or in ti_sysbios_knl_Idle_loop_E at Idle.c. I try to unplug the ethernet cable and plug it again. The NDK doesn't reconnect the ethernet again. This doesn't always happen. Sometimes it will work and sometimes it will fail.

Sometimes  I ping the DSP 4 times, the first 3 times NDK response well. At the fourth time, the NDK failed to response. And I found that DSP is stuck in the code with red color below.

In ethdriver.c

void HwTxInt(void)
{
 Uint32 i;
 CSL_SemVal response;

    if (hEMAC)
    {
        i = EMAC_TxServiceCheck(hEMAC);

  if(i)
  {
   if (i == EMAC_ERROR_MACFATAL)
    emac_fatal_error++;
   else
    csl_errors++;
  }

  /* Check Whether Handle opened Successfully and then read module status*/
  if(hSemHandle1!= NULL)
  {
         /* Check whether semaphore resource is Free or not*/
        do {
             /* Get the semaphore*/
          CSL_semGetHwStatus(hSemHandle1,CSL_SEM_QUERY_DIRECT,&response);
         } while (response.semFree != CSL_SEM_FREE);

         /* write the EOI register */
   EMAC_txEoiWrite(coreNum);

      /* Release the semaphore*/
      CSL_semHwControl(hSemHandle1, CSL_SEM_CMD_FREE_DIRECT,NULL);
     }
    }

    return;
}

my platform: 

C6474, NDK 2.1.0

L2 cache: 32K 


Viewing all articles
Browse latest Browse all 25965

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>