[ECOS]How to run testprograms for lwip

Sergei Gavrikov sergei.gavrikov@gmail.com
Wed Jul 29 12:25:00 GMT 2009


Simon Kallweit wrote:
> Well, I can't really help you with that. Also, it seems you are using 
> the current lwip port available in the CVS (or ecos 3.0). I have not 
> used that port, as it was rather dated, so I ported a newer lwip 
> version. You could try my port too, a snapshot is available:
> 
> http://download.westlicht.ch/lwip-20090722.tar.gz

Hi Simon,

Thank you for your contribution. I tried to built lwIP's with SNMP
support using your snapshot. Unfortunately, I ran in a problem with CPP
defines for eCos (lwipopts.h).

mib2.c:70:
#define SNMP_SYSSERVICES ((1 << 6) | (1 << 3) | ((IP_FORWARD) << 2))

mib2.c:766:
static const s32_t sysservices = SNMP_SYSSERVICES;

lwipopts.h:102:
#define IP_FORWARD                  defined(CYGFUN_LWIP_IP_FORWARD)

So, the above init will become itself:

static const s32_t sysservices = ((1 << 6) | (1 << 3) | ((defined(CYGFUN_LWIP_IP_FORWARD)) << 2))

May be the below should be used in lwipopts.h?

#if defined(CYGFUN_LWIP_IP_FORWARD)
# define IP_FORWARD 1
#else
# define IP_FORWARD 0
#endif

FYI: There are a few defines like this

#define FOO defined(CYG_FOO)

in lwipopts.h. Small testcase:

#define CYG_FOO 1
#define FOO defined(CYG_FOO)

main ()
{
  int foo = FOO;
}

It cannot be linked. FOO is not boolean ;-) I can check the same
"rvalues" then and send a patch if you want.

Regards,

Sergei

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list