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