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.

CCS/TMS320C6678: NDK client demo telnet reboot error

Part Number: TMS320C6678


Tool/software: Code Composer Studio

my last post:https://e2e.ti.com/support/processors/f/791/t/823452?CCS-TMS320C6678-NDK-client-demo-telnet-reboot-error

CCS/TMS320C6678: NDK client demo telnet reboot error

C6678EVM

CCS8,

NDK3.40.1.01

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

I test the NIMU_emacClientExample_EVMC6678C66BiosExampleProject , after telnet login , I use "reboot"  cmd ,

it comes as follows:

and Eric replied :

We have a bug opened to track this memory double free error: https://jira.itg.ti.com/browse/PRSDK-6301. You probably can't access the bug database but you will see when it fixed in our release note with this ID.

but, I test the process_sdk_06_01_00_08,, after telnet login , I use "reboot"  cmd ,

the "mmFree:Double Free" is disappeared,  but  the Net work  still not  reboot .why?

is there anyone test it?  

  • Hi,

    I thought that "mmFree:Double Free" and network reboot are two separate issues. From https://e2e.ti.com/support/processors/f/791/t/823452, it mentioned "This seems to be a new issue. Can you please post a new thread for this?".

    So please explain your usage requirement: After NDK program running, you have an IP address for the C6678 and do all the TCP/IP, or HTTP stuff. Why you want to do a reboot from telnet command? What is the expectation after that? Can this be done by resetting the C6678 board?

    Regards, Eric

  • Hi, thank you for your reply,

        Because the C6678's network occasionally goes offline, and can not ping. but we don't know why.
        Restarting the C6678 board will cause data loss in DDR, so we hope to restart the network to restore communication when the network is offline.

         we want to run "NC_NetStop(1)"  to reboot the network, but it dose not work.

         so, we want to do a reboot from telnet command to test the "NC_NetStop(1)" !

    Please help me, this problem has been troubled us for a long time,

         Or is there any other way to restart the network when the network is offline?

         Or help analyze why the C6678 network occasionally goes offline?

  • Hi,

    Thanks for the explanation! I will look into the methods to re-run the NDK without rebooting the board. Note there will be a few days delay due to US holiday.

    Regards, Eric

  • Thanks Eric,

    Look forward to your favourable reply!

  • Hi,

    I looked at the call trace when you do the "reboot" from the telnet console. It calls into NIMUShutdown()=====> NIMUUnregister()=====>EmacStop() to stop the QMSS. Then the network restart ===>NIMUInit()======>EmacInit()====>EMACInit_Core()====>NIMURegister() ====>EmacStart(). I am not sure if this is the correct sequence to restart of the CPPI, QMSS and PA inside the C6678 EMAC. This was not tested how to restart. 

    There were some discuss on how to restart NDK, please check below if helps:

    https://e2e.ti.com/support/processors/f/791/t/261743

    Regards, Eric

  • Hi  Eric,

        I check the link, but  it  didn't solve the problem.

  • Hi,

    So you tried the 0246.client_6678_restart_test.zip from Ivan and it didn't help? In the original NIMU NDK client demo, how do you came into NDK ICMP ping no response issue? E.g. Just power on the EVM, run the application, then ping it and it will be dead after a few days? Or, you run some (heavy) network traffic using TCP or UDP, then it will be dead?

    Did you debug it? E.g. when you ping it,

    1) Did the C6678 CPSW switch received the packets? You can look at the statistics starting from address 0x2090B34. This is SGMII port 0 Rx good frame counter and expected to increase.

    2) Then set a break point at EmacRxPktISR(), it is expected to hit 

    3) Then look at NDK statistics, the highlighted in yellow expect to increase

    4) Then set a break point at EmacSend(), it is expected to hit 

    5) 0x2090B00 this is CPSW Tx counter and expect to increase

    You need some debug where the path break.

    Regards, Eric

  • Hi,

    Are you debugging the NDK failure? Is it in Tx path or Rx path?

    Regards, Eric