This is the mail archive of the ecos-devel@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: lwip 1.3.1 testing


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

Attachment: synth_simple.ecm
Description: Text document

Attachment: synth_seq.ecm
Description: Text document

Attachment: lpc_simple.ecm
Description: Text document

Attachment: lpc_seq.ecm
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]