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.

DHCP fault with C6474 EVM

Hi all,

I am having Spectrum Digital's C6474 EVM (REV D).

I downloaded the NDK 2.1.0 from TI website and compiled the Helloworld project after resolving some linker issue to find the csl_C6474.lib.

I am not able to transfer the packets.

When I load the helloworld application and run the application, I get the following output:

TCP/IP Stack 'Hello World!' Application
 
MAC Address read from EFUSE: 3c-2d-b7-18-14-c2
Core Number on which NDK is running = 0 
EFUSED MAC Address = 3c-2d-b7-18-14-c2
Only on CORE 0: SGMII reset successful........
Only on CORE 0: SGMII config successful........
Only on CORE 0: SerDes should be up and running 
EMAC has been started successfully
Registeration of the EMAC Successful
Service Status: DHCPC    : Enabled  :          : 000
Service Status: DHCPC    : Enabled  : Running  : 000
Link Status: 100Mb/s Full Duplex on PHY 1

Then after, I get DHCP fault message. When I tried using static IP, I am not able to ping the board.

Have I missed any thing?

Your help is highly appreciated.

 

Thanks,

Amitkumar Solanki

(amitkumar.solanki@einfochips.com)

 

  • Adding to the above information:

     

    I am building CCSv4 version of Helloworld project, which is based on BIOS6.

    I am able to get the DHCP IP address when I build and run the CCSv3 project based on BIOS5, importing the project in CCSv4.

     

    But, unable to get the DHCP IP while using BIOS6 version of Helloworld project. Same is the observation with client project.

    When i execute BIOS6 version of cfgdemo project, I get "GetIP Closing", but then unable to connect/ping the board.

     

    Regards,

    Amit

  • Hi Amitkumar,

    I tried out the BIOS6 client example for the evm6474.  While I am able to get an IP address, there is obviously some problem here because I am unable to ping the board or connect to the client example's web server.

    We will debug this issue and respond to you as soon as possible.

    Thanks,

    Steve

  • Thanks Steve for addressing this.

    Hoping to hear from you soon.

     

    Thanks,

    Amit

  • Hi Steve,

    I am waiting for an update on this thread.....

     

    Regards,

    Amit

  • Amit,

    We are still looking at it, and will try to have an answer to you early next week. 

    Regards,

    Travis

  • Thanks Travis,

    Regards,

    Amit

  • Hi Amit,

    As for static is concerned, the problem you cannont ping is that there is no ARP entry in the PC. try adding the arp entry using arp -s option and try pinging. There should be no problem with the DHCP, but i haven't tried the ccsv4 example. Let me try it and update you on the status.

     

    Thanks,

    Arun

  • Hi Arun,

    Thank you for your response.

    I tried your suggestion to add an arp entry in PC for static IP with no success.

    I have attached my NDK development environment for your reference.

    Please note that I am using EFUSE_MAC, I think that should not make any difference.

    Please let me know if I am missing any thing.

     

    Thanks,

    Amit

    ndk_2_1_0.zip
  • HI Amit,

    I tried the project you sent. i am not able to compile it. I found out that the files use some of the csl files from the c6472. Are you adding the correct files? Please verify and let me know.

     

    Thanks,

    Arun.

  • Hi Arun,

    Thank you for your reply.

    ArunMani said:
    I found out that the files use some of the csl files from the c6472

    Can you please point out what specific files you are talking out? I am able to compile the projects with following configurations:

    1. I have the ndk_2_1_0 directory at "C:\Program Files\Texas Instruments\ndk_2_1_0"
    2. NDK_INSTALL_DIR linked resources path defined in windows->workspace->linked resources to point to ndk_2_1_0.
    3. User Environment variable NDK_INSTALL_DIR should also point to  ndk_2_1_0.

    ArunMani said:
    Are you adding the correct files? Please verify and let me know.

    I verified all the files linked and included in the Network example of evm6474 and everything looks alright.

    Though, my NDK folder contains NSPs for both evm6474 and evm6472. I do not think that should cause any issue.

    Regards,

    Amit

  • Hi Arun,

    Please let me know if you are able to regenerate the issue?

    I would appreciate a response on this issue. If not the resolution, then the target date of issue resolution.

    Thanks,

    Amit

     

  • Hi Amit,

    Still i am not able to compile. I cannot see where you have defined EMAC_NUMCHANNELS and EMAC_NUMCORES.

     

    Thanks,

    Arun.

  • Also Amit can you sniff the packet and let me know what packets goes out of the DUT after you run the app and get the fault error.

     

    Thanks,

    Arun.

  • ArunMani said:
    I cannot see where you have defined EMAC_NUMCHANNELS and EMAC_NUMCORES.

    Arun,

    Earlier, in the list of configuration required, I forgot to mentioned CSL_BASE_DIR environment variable to point the CSL base directory. In my case, I use the CSL distributed with the EVM and I have it in C:\Program Files\Texas Instruments\ccsv4\emulation\boards\evmc6474_v1.

     

    Regards,

    Amit

  • ArunMani said:
    Amit can you sniff the packet and let me know what packets goes out of the DUT after you run the app and get the fault error.

    Please find attached captured packets (winpcap format).

    Please note that in order to filter other packets I have captured packets after removing the board from local network. The DHCP fault occurs even if it is connected to local network.

     

    Thanks,

    Amit

     

    6474.zip
  • The problem was that the memory map is configured to put all the stuff in external memory whihc cause a cache coherency.

    In ethdriver.c just added, add the following line to global definitions in the file:

    #define EXTERNAL_MEMORY

    This should enable the code to ensure cache coherency in driver. Add the ethdriver.c source file and other driver source file to the project. To include the driver sources, right click on Project Name --> Choose Link files to Project and browse to NDK_INSTALL_DIR\packages\ti\ndk\src\hal\evm6474\eth_c6474\ and add the source files ethdriver.c, nimu_eth.c, csl_emac.c. You might also need to add NDK_INSTALL_DIR\packages\ti\ndk\src\hal\evm6474\eth_c6474\inc to include path too.

    I checked this and i can get the DHCP address, please try and let me know.

    Thanks,

    Arun.

  • Hi Arun,

    I have added the macro

    ArunMani said:
    #define EXTERNAL_MEMORY
    to ethdriver.c files and all network examples are working fine now.

     

    Thanks,

    Amit