ManualEthernetConfig() undefined reference issue in v2.7.1
Posted: Wed Apr 08, 2015 2:07 pm
I'm still peeling the onion on trying to migrate from NNDK 2.6.7 to NNDK 2.7.1.
This is the latest bit of fun:
C:\Code\Navigator\trunk\Navigator\Release/..\Network.cpp:72: undefined reference to `ManualEthernetConfig(unsigned char, unsigned char, unsigned char)'
So we have the following code we wrote to get around a bug in an earlier NNDK issue that should be fixed in NNDK 2.7.0 but would rather leave this code in for good measure:
I also have #include <ethernet.h> at the top. This compiled in NNDK 2.6.7 in RELEASE. It would not compile in DEBUG for some unexplained reason, hence my #ifndef _DEBUG statement.
In NNDK 2.7.1 it won't compile in RELEASE either now.
I see the following in Ethernet.h: void ManualEthernetConfig ( BOOL speed100Mbit, BOOL fullDuplex,
BOOL autoNegotiate );
Everything still looks correct according the docs for this call, so what gives?
Thanks.
Scott
This is the latest bit of fun:
C:\Code\Navigator\trunk\Navigator\Release/..\Network.cpp:72: undefined reference to `ManualEthernetConfig(unsigned char, unsigned char, unsigned char)'
So we have the following code we wrote to get around a bug in an earlier NNDK issue that should be fixed in NNDK 2.7.0 but would rather leave this code in for good measure:
Code: Select all
/**** NNDK bug: Network cold boots in half duplex. Should be fixed in 2.7.0 or later. ***/
// Check network connection for Full duplex
if(EtherLink())
{
if( !EtherDuplex() )
{
// Force re-negotiate
#ifndef _DEBUG //ToDo: NNDK 2.6.7 issue when compiling for Debug this isn't being declared in the debug libs.
ManualEthernetConfig( true, true, true );
#endif
// Wait for network
// should come up as we are connected to switch
i = 5;
while(!EtherLink() || !i--)
OSTimeDly(TICKS_PER_SECOND);
}
}
In NNDK 2.7.1 it won't compile in RELEASE either now.
I see the following in Ethernet.h: void ManualEthernetConfig ( BOOL speed100Mbit, BOOL fullDuplex,
BOOL autoNegotiate );
Everything still looks correct according the docs for this call, so what gives?
Thanks.
Scott