So I get a configuration that seems to work.  Data streams decently, even 
though there are a few dropped packets for no reason.  Today I try it again, 
but it doesn't work like it did yesterday.  It's dropping lots of packets.  I 
enable lwIP debugging.  Then mysteriously, things start working again.  Hmmmm.  

Disable debugging, clean, recompile, reprogram, doesn't work.  Enable 
debugging, clean, compile, program, and it works.  WTF?  I try this a few more 
times to make sure I'm sane.  Why do I always run across the strange problems?  

So I start to individually disable different debugging sections until it breaks 
the code.  If I have at least TCP_INPUT_DEBUG enabled and happen to have the 
"right combination" of enabled options to break the code, I see lots of failed 
checksums.  If it's configured so it happens to work well, no problems on the 
debug output.

I'm using OpenOCD on Eclipse, Luminary ARM Cortex-M3, and CodeSourcery 
compiler.  I remember that sometimes OpenOCD refuses to program the micro 
because "offset breaks required alignment".  So I started using the programming 
utility from Luminary last week because that never complained, and my firmware 
worked equally poorly in either case :-)   Well, it seems that the OpenOCD 
offset error really means something.  Although, sometimes it will program the 
micro and not complain, but things still won't work.  At least the 
TCP_INPUT_DEBUG is generating failed checksum errors, so that gives me 
something to start with.  But, this is unchartered territory for me.  Any tips, 
tricks, anything I should know?  I thought the compiler is supposed to deal 
with this?





      
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to