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.

EVMC6472 - EMAC Not Initialized Properly

Other Parts Discussed in Thread: MIDAS, OMAP3530

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