You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 5, 2019. It is now read-only.
Current realization of LwIP's sys_arch.cpp sys_arch_sem_wait() function calls osSemaphoreWait() function from CMSIS-RTOS API, that's prohibited to use while we are in interrupt handler.
It should be rewritten to use ISR-safe methods, e. g. queue or mailbox.
The text was updated successfully, but these errors were encountered:
Snarkorel
changed the title
LwIP's sys_arch realization calls prhobitied osSemaphore* functions from ISR
LwIP's sys_arch realization calls prohibited osSemaphore* functions from ISR
Aug 14, 2017
Since CMSIS-RTOS doesn't have critical sections, problem can be solved by defining LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT option in lwipopts.h and implementing custom sys_arch_protect/sys_arch_unprotect functions at sys_arch.cpp that will disable interrupts instead of using semaphores.
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Current realization of LwIP's sys_arch.cpp sys_arch_sem_wait() function calls osSemaphoreWait() function from CMSIS-RTOS API, that's prohibited to use while we are in interrupt handler.
It should be rewritten to use ISR-safe methods, e. g. queue or mailbox.
The text was updated successfully, but these errors were encountered: