Hi,
I'm using the EVMC6472 with the following tools:
CCSv4
XDC 3.22.04.46
BIOS 6.32.05.54
IPC 1.24.00.16
NDK 2.20.04.26
Compiler 7.3.1
My project is based off the MCSDK 1.00.00.08 HelloWorld example. I have copied the EVM_init() function to my code verbatim and I'm using the EVM in No Boot mode. When I run my application, the EMAC peripheral does not initialize (the activity light on the Ethernet connector never comes on). I stepped through the code and noticed that AMC_DETECT is getting set to '1' in evmc6472.c. When I comment out that statement (leaving AMC_DETECT = 0), the EMAC peripheral does turn on after EVM_init() runs. With AMC_DETECT = 0, I also see the console printout as follows:
MAC addresses configured for channel 0:
3C-2D-B7-7C-86-66
emac_open core 0 port 0 successfully
Registration of the EMAC Successful, waiting for link up ..
Network Added: If-1:192.168.1.24
Port 0 Link Status: 1000Mb/s Full Duplex on PHY 24
However, if I call sendto() or recvncfrom(), nothing happens. For sendto(), no packets are ever sent even though the return of sendto() shows the correct number of bytes. If I attempt to receive a packet at IP 192.168.1.24 and the port that my application is listening at, the packet is never received. It seems like the DSP is never responding to the ARP request for that IP address.
I noticed that the first call to sendto() and recvncfrom() is occuring before the link is established (before 'Port 0 Link Status: 1000Mb/s Full Duplex on PHY 24 ' is printed to the console). Would this cause the EMAC peripheral to stop functioning somehow?
Nick