On Fri, Aug 21, 2009 at 09:43:36PM +0300, Sergei Gavrikov wrote:
> On Fri, Aug 21, 2009 at 09:12:02AM +0200, Simon Kallweit wrote:
> > Hi
> >
> > If anyone volunteers, I'd be glad if you could test the current state of  
> > the lwip 1.3.1 port. It has been updated with the latest changes from  
> > the 1.3.1 release. I currently left in my changes for SLIP and PPP (see  
> > my last mail for details), but this should not matter for testing. The  
> > package can be installed by just replacing the existing lwip and eth  
> > drivers packages.
> >
> > http://download.westlicht.ch/lwip-20090821.tar.gz
> 
> Hi Simon,
> 
> I need a bit clarification from you. Does it mean that we should try
> 'lwip_eth' template only on real HW? I stub on 'left in' phrase. Did
> your SLIP/PPP hack leave this tarball? Does it mean what tests of SLIP,
> for example, will be useless just now?

Hi Simon,

Last weekend I tested a bit your lwip 1.3.1 port. Well, that was not any
stress test, just compile and run a few net tests out from the box and
pinging. Short summary the below

  Synth                   ARM-7 (LE)
+ http_simple           + http_simple
+ http_sequential       + http_sequntial
+ tcpecho               + tcpecho

External ping/arping worked for both targets. For the tests I used
configs with DHCP support.

For the followers I attach the ecos minimal configs which I used for
simple and sequential modes for synth and real hardware and a small
patch for simple.c, sequential.c. All build were started as

ecosconfig new <target> lwip_eth

I had got `stack overlow' in GDB with default stack's settings on real
target when I enabled a tracing and turned off optimization, I tried
multipy stack amounts (for interrupts, tcp_thread, eth_thread) x 2, x 4,
but error did not go away.  Perhaps, I should investigate more time for
the issue, but may be in the next weekend.

Thanks for the port!

Regards
Sergei

Appendix

Host and tools details
----------------------
Host            Ubuntu 8.04.3 LTS
eCos            CVS updated + lwIP 1.3.1 package
ecosconfig      3.net (Aug 23 2009 17:00:44)
dhcpd3          V3.0.6

Synth target details
--------------------
GCC             4.2.4
GDB             GNU gdb 6.8-debian
CFLAGS          -g -O2

ARM target details
------------------
BOARD           Olimex LPC-E2294 rev. B
NIC             DAVICOM DM900 32-bits
STARTUP         RAM
ROM monitor     RedBoot+GDB stubs
GCC             arm-eabi-gcc 4.3.2
CFLAGS          -g -O2
diff -r c04951f2b777 net/lwip_tcpip/current/src/ecos/sequential.c
--- a/net/lwip_tcpip/current/src/ecos/sequential.c	Fri Aug 21 20:43:16 2009 +0300
+++ b/net/lwip_tcpip/current/src/ecos/sequential.c	Mon Aug 24 17:27:13 2009 +0300
@@ -75,6 +75,10 @@
 #include <cyg/infra/diag.h>
 #include <cyg/kernel/kapi.h>
 
+#ifdef CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
+#include <cyg/hal/hal_if.h>            // HAL_CTRLC_CHECK
+#endif
+
 #ifdef CYGPKG_LWIP_ETH
 #include <cyg/io/eth/eth_drv.h>
 #include <cyg/io/eth/netdev.h>
@@ -227,7 +231,7 @@
 #endif
                 sc->state &= ~ETH_DRV_NEEDS_DELIVERY;
 #if defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT)
-                was_ctrlc_int = HAL_CTRLC_CHECK(*sc->funs->int_vector(sc),
+                was_ctrlc_int = HAL_CTRLC_CHECK(sc->funs->int_vector(sc),
                                                 (int) sc);
                 if (!was_ctrlc_int) // Fall through and run normal code
 #endif
diff -r c04951f2b777 net/lwip_tcpip/current/src/ecos/simple.c
--- a/net/lwip_tcpip/current/src/ecos/simple.c	Fri Aug 21 20:43:16 2009 +0300
+++ b/net/lwip_tcpip/current/src/ecos/simple.c	Mon Aug 24 17:27:13 2009 +0300
@@ -76,6 +76,10 @@
 #include <cyg/infra/diag.h>
 #include <cyg/kernel/kapi.h>
 
+#ifdef CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
+#include <cyg/hal/hal_if.h>            // HAL_CTRLC_CHECK
+#endif
+
 #ifdef CYGPKG_LWIP_ETH
 #include <cyg/io/eth/eth_drv.h>
 #include <cyg/io/eth/netdev.h>
@@ -291,7 +295,7 @@
 #endif
                 sc->state &= ~ETH_DRV_NEEDS_DELIVERY;
 #if defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT)
-                was_ctrlc_int = HAL_CTRLC_CHECK(*sc->funs->int_vector(sc),
+                was_ctrlc_int = HAL_CTRLC_CHECK(sc->funs->int_vector(sc),
                                                 (int) sc);
                 if (!was_ctrlc_int) // Fall through and run normal code
 #endif
cdl_option CYGVAR_DEVS_ETH_ECOSYNTH_ETH0 {
    user_value 1
};
cdl_component CYGPKG_LWIP_DHCP {
    user_value 1
};
cdl_option CYGDAT_LWIP_ETH0_DHCP {
    user_value 1
};
cdl_option CYGVAR_DEVS_ETH_ECOSYNTH_ETH0 {
    user_value 1
};
cdl_option CYGIMP_LWIP_MODE {
    user_value Sequential
};
cdl_component CYGPKG_LWIP_NETIF_API {
    user_value 1
};
cdl_component CYGPKG_LWIP_NETCONN_API {
    user_value 1
};
cdl_component CYGPKG_LWIP_SOCKET_API {
    user_value 1
};
cdl_component CYGPKG_LWIP_DHCP {
    user_value 1
};
cdl_option CYGDAT_LWIP_ETH0_DHCP {
    user_value 1
};
cdl_component CYGPKG_LWIP_DHCP {
    user_value 1
};
cdl_option CYGDAT_LWIP_ETH0_DHCP {
    user_value 1
};
cdl_option CYGIMP_LWIP_MODE {
    user_value Sequential
};
cdl_component CYGPKG_LWIP_NETIF_API {
    user_value 1
};
cdl_component CYGPKG_LWIP_NETCONN_API {
    user_value 1
};
cdl_component CYGPKG_LWIP_SOCKET_API {
    user_value 1
};
cdl_component CYGPKG_LWIP_DHCP {
    user_value 1
};
cdl_option CYGDAT_LWIP_ETH0_DHCP {
    user_value 1
};

Reply via email to