Hello,
I'm trying to send UDP-packets from an LM3S9B96 to the PC. But every time when I call the Library-function "udp_get_buf(len);" I get an Hardfault-IRQ. Receiving the UDP-Packets from the PC is no problem, so my initialization from the UDP should be ok. Any ideas what could be wrong?
Thank you.
Regards, Mike
A response I once got from Keil Technical Support was this:
In general the rule is "Do not call any TCP net functions from the TCP callback function." This is self explaining.
I would suggest that (as a test) you change your callback function to set a flag on receipt of the UDP message and test the flag for the generation of a response (including the call to udp_get_buf) within your UDPTask loop.
This is (fundamentally) what I do in my code.
Ok. I set a flag. But it crashes when I leave the callback-function. I tried to do single-stepping and realized that after the callback I jump to the function: void int_disable_eth (void) and in the following I get the fault. I think that there is basically an other problem as the call to udp_get_buf.
Thank you all for your help! Finally I found the problem: my task didn't run in privileged mode! Now I can send UDP-data.
OK... I was late.
The important thing however, is that you solved your problem.
Cheers, Marco.