Other Parts Discussed in Thread: HALCOGEN
Hello,
I'm working with a TMS570LC4357 microcontroller (Hercules LaunchPad Development Kit TMS570LC43x).
I have ran LwIP demo with success, HTTP server is working.
Board is connected to LAN and has configured static IP address. Communication is performed between board (192.168.0.101) and PC (static IP 192.168.0.102).
I have got issue with receiving too many UDP packages (200 bytes payload).
What I observe:
- when host sends packages with 10ms delays between them, everything works well,
- when host sends packages one by one, as fast it can, board hangs up in Rx interrupt after about 70 packages.
After hang up, I pressed pause in debugger and I see that variable rxch->active_head is set to NULL.
Software has not any mechanism to prevent getting data from NULL pointer and stay in infinite loop.
I have added "if guard", this help that application does not hang up but EMAC Rx interrupt is no triggered longer.
This seems to be hardware capability issue.
Questions:
- Is any way to prevent such situation?
- Is it possible to ignore incoming packages if microcontroller cannot handle them?
Best regards,
Kamil Zorychta