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.

TMS320C6455: NDK2.23

Part Number: TMS320C6455

Hi,

NDK 2.23

The customer modified nsp in ndk2.00 to adapt to NDK2.23. The IP address settings, PHY connection, and mode configuration are all normal. He directly connected the board to the computer with network cable. But the board cannot reply ARP packets when ping the board. He used SOCKET to connect directly and there is still no reply.

  • Hi,

    I thought NDK 2.0 release include TCP/IP stack source and binaries and associated NSPs (drivers). Was that working before on C6455 for customer? If you move to NDK 2.2x, the package has stack sources and libraries only. It no longer contains any reference drivers or examples.

    You seemed already ported the NSP to the new NDK. There is a older application note talked about the NSP or NIMU driver 1.94: https://www.ti.com/lit/ug/sprues4a/sprues4a.pdf

    Assuming you will use the same files to build your NIMU driver:

    With NIMU add: <ndk_install_dir>/packages/ti/ndk/src/hal/dsk6455/eth_c6455/c6455.c> <ndk_install_dir>/packages/ti/ndk/src/hal/dsk6455/eth_c6455/c6455_mdio.c> <ndk_install_dir>/packages/ti/ndk/src/hal/dsk6455/eth_c6455/nimu_eth6455.c>

    With LL add: <ndk_install_dir>/packages/ti/ndk/src/hal/dsk6455/eth_c6455/c6455.c> <ndk_install_dir>/packages/ti/ndk/src/hal/dsk6455/eth_c6455/c6455_mdio.c> <ndk_install_dir>/packages/ti/ndk/src/hal/dsk6455/eth_c6455/llpacket.c

    Why it didn't work? When you ping the EVM from a PC, are you able to see if the C6455 EMAC has the Rx good frame counter increase? And inside NDK, there should be globals variable you can look at CCS expression window: udps and  _ICMPIn[19], _ICMPOut[19]

    To see if you have ICMP received from network and replied:

    #define ICMP_ECHO                       8       /* echo service */

    #define ICMP_ECHOREPLY                  0       /* echo reply */

    And finally look at EMAC Tx statistics if any increment?

    Regards, Eric 

  • Hi,

    How to see if the C6455 EMAC Rx good frame counter increase?

    When changed PLL2 clock it seems that the board cannot receive data packets. Because when used PC PING the board, the board did not reply to the ARP packet sent by PC and when used the board to connect the pc, the board sent an ARP packet, and the PC responded to this packet, but the board seems did not receive the reply packet and still send ARP packets to PC Repeatedly. He use TCP protocol.

  • Hi,

    I looked at the C6455 datasheet, the PLL2 is for DDR2 and EMAC. My question, if this worked before using NDK 2.00, you are just porting to a new NDK package, why you need to touch PLL2 setting?

    For the Rx good frame counter: please see http://www.ti.com/lit/ug/spru975e/spru975e.pdf, Table 29: Network Statistics Registers. as you can see ARP keep sending out, make sure it is reflected in Tx packets counter, then look at if the Rx counter increases (PC responds to 6455).

    Regards, Eric