Tool/software: Code Composer Studio
Hello!
We have two boards. Both are connected to a LAN using LWIP TCP stack. The first board is equipped with LM3S9B96 processor (we are using StellarisWare tools). The second one has TM4C129ENCPDT (with TivaWare tools for development). The conditions are: network connection may use DHCP (with autoIP on) or static IP (both projects utilize lwiplib.c) depending on current parameter (Parameters.ui8UseDHCP).
Code for illustration:
if (Parameters.ui8UseDHCP)
lwIPInit(g_ui32SysClock, Parameters.pui8MACAddr, 0, 0, 0, IPADDR_USE_DHCP);
else
lwIPInit(g_ui32SysClock, Parameters.pui8MACAddr, htonl(Parameters.ui32IPAddr), htonl(Parameters.ui32NetMask),
htonl(Parameters.ui32GWAddr), IPADDR_USE_STATIC);
During some tests we have discovered such a strange behavior:
a) Compiled with DHCP and AUTOIP on:
In lwipopts.h:
#define LWIP_DHCP 1
#define LWIP_AUTOIP 1
Then, after switching to static IP board with LM3S9B96 works fine, board with TM4C129ENCPDT - not working.
b)Compiled with DHCP and AUTOIP off:
In lwipopts.h:
#define LWIP_DHCP 0
#define LWIP_AUTOIP 0
Then board with TM4C129ENCPDT works OK too.
The problem is that we need to switch between DHCP <=> staticIP dynamically, during device work.
Could you help us? Any idea is greatly appreciated!
Thanks in advance.