Using lwIP for UDP, TCP

zealhero wrote on Monday, October 06, 2014:

I’m using FreeRTOS 8.1.2 and lwip 1.4.1 for CortexR5. I’ve used UDP, TCP communication well with lwip on my system without FreeRTOS. I’m trying to use UDP, TCP on FreeRTOS now. I made few files for connecting lwip with FreeRTOS like ‘sys_arch.c’. I reffered ARM7 example project in FreeRTOS demo. So it can work on the task used ‘sys_thread_new()’. But ‘netconn_send()’ for data sending by udp in the thread is not working.

It works in ISR using interrupt when there is no OS. I tried it same way and other ways in this system that use FreeRTOS. But It can’t send a message, though I got a normal return value from 'netconn_send().

I don’t know how it works on FreeRTOS. I’ve not understood communicatino procedure fully in FreeRTOS with lwip. Please give me a tip.

Best Regards,
Wonjae

rtel wrote on Monday, October 06, 2014:

An old reference FreeRTOS/lwIP integration can be found on the following link. Note the CLI code used by the project is not the same as the code eventually released as FreeRTOS+CLI: http://interactive.freertos.org/entries/20290712-FreeRTOS-Win32-project-with-lwIP-web-server

Regards.

zealhero wrote on Tuesday, October 07, 2014:

Is it make a sense to use ISR seperated from OS? I think that the rx or tx interrupt handler is needed for ethernet communication. but they are not related FreeRTOS… Other things as semaphore or queues are connected to lwIP already. so I confused… The ISRs are used in FreeRTOS project same with the project what doesn’t have OS now.

Regards.

zealhero wrote on Tuesday, October 14, 2014:

Hello
I’m still in the stuck… I’ve understood what I asked. But there are some new questions.
There are 2 threads in my system as tcpip_thread(basic) and Socket UDP what it sends a simple message. I can check that they works well using the ‘FreeRTOS+Trace’. But sending message is not working, but it is another problem(related TI chip) so skip this part.
My question is that it goes to resetEntry(_c_int00) when some message(e.g. ping) comes to my system. It goes to dataEntry if I resume it when it occured.
I don’t know how can I find the cause because it is appeared when I give some message to it. I was guessed that it is related to ISR, so I made a breakpoint at there and follow the codes. But it did go well.
Please give me some tips for debugging this problem.

Best Regards,
Wonjae.