LWIP stack on ARM7 SAM7 from Atmel

spreetsingh wrote on Thursday, April 23, 2009:

I am looking at the Rowley port of lwIP stack for SAM7 under:
lwip_Demo_Rowley_ARM7

In the file ethernetif.c - under routine static struct pbuf *low_level_input(…), it creates and uses xRxSemaphore.

It is not clear as to how this is being used?  I am not able to see where any other task is trying to acquire this sema?

Am I missing something on the use of sema’s?

Thanks

davedoors wrote on Thursday, April 23, 2009:

It is declared static within the function so no other function can use it. It looks like it is just protecting access to the Ethernet peripheral to make it thread safe.

spreetsingh wrote on Thursday, April 23, 2009:

Thanks for the quick response.
I am still confused - Since this is the only place where this is being used any other thread can still access it if it does not know that this is protected by this semaphore?
Or is there something more to it that I need to read about.
Thanks again

davedoors wrote on Thursday, April 23, 2009:

If the function is only ever called from one task then I would say the semaphore is not needed.

spreetsingh wrote on Thursday, April 23, 2009:

Thanks