Re: lwip 1.3.1 testing
Sergei Gavrikov <[email protected]>
| Newsgroups | gmane.os.ecos.devel |
|---|---|
| Message-ID | <[email protected]> |
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
lwip.patch
(text/x-diff, 1.8 KB)
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
synth_simple.ecm
(text/plain, 171 B)
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
};
synth_seq.ecm
(text/plain, 407 B)
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
};
lpc_simple.ecm
(text/plain, 108 B)
cdl_component CYGPKG_LWIP_DHCP {
user_value 1
};
cdl_option CYGDAT_LWIP_ETH0_DHCP {
user_value 1
};
lpc_seq.ecm
(text/plain, 344 B)
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
};