[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [lwip-users] questions (help and advice needed)
From: |
Bill Auerbach |
Subject: |
RE: [lwip-users] questions (help and advice needed) |
Date: |
Tue, 30 Nov 2010 17:19:45 -0500 |
I use the Raw API mode of lwIP with an OS, but the OS is cooperative (not
preemptive). I run a task that processes packets running forever with one
yield to give other tasks a chance to run. The callbacks from doing so are
handled as they come in. By definition they are done in the same task. I
do have other tasks that send data as needed but since my RTOS is
cooperative it never occurs during a time that would be bad or corrupt data
within lwIP.
I think the Raw API would be fairly easy to use with a preemptive RTOS using
a Mutex around all calls to lwIP. You would need some mechanism to not spin
forever processing packets - maybe a delay of some time to let other tasks
run. Calls in other tasks to tcp_write and so on need to be mutexed as a
group.
Bill
>I was working on this over the weekend but could not test it at home
without
>the right equipment so I wanted to understand it as much as I could. I
used
>the tcpip_callback to indicate to main (in my case without an OS yet) and
>did all the processing of the data in main. As part of the main loop, it is
>looking for packet received from the callback to process. I think this will
>carry forward when I add the OS and there is no need to go with a different
>API when I add an OS. As far as I can tell, it is working fine and thank
>you again for your advice!
>
>DB