This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Keil RTX V4.82; Cortex-M0+, osDelay() not working

Hi,
want to use RTX V4.82 on STM32G071 Nucleo board.
Two threads running, one thread calls osDelay(250)... and goes into os_error().
This because in cmsis_os.h there is osFeature_Wait defined as "0".
So, no RTX is possible (mailboxes, semaphores aso)
Why is it defined as "0"?
Best regards

#define osKernelSystemId "RTX V4.82"   ///< RTOS identification string


#define osFeature_MainThread   1       ///< main can be thread
#define osFeature_Pool         1       ///< Memory Pools available
#define osFeature_MailQ        1       ///< Mail Queues available
#define osFeature_MessageQ     1       ///< Message Queues available
#define osFeature_Signals      16      ///< 16 Signal Flags available per thread
#define osFeature_Semaphore    65535   ///< Maximum count for \ref osSemaphoreCreate function
#define osFeature_Wait         0       ///< osWait not available
#define osFeature_SysTick      1       ///< osKernelSysTick functions available

Parents
  • Sorry,
    turned out to be a stack size error.
    Stepping through code showed - printf... - that thread needed 576 bytes stack, but only 512 were available.
    This lead to wrong call address (osWait() instead of osDelay(), so there osFeatureWait==0 forced osError()...
    Sorry for bothering you..Juergen

Reply
  • Sorry,
    turned out to be a stack size error.
    Stepping through code showed - printf... - that thread needed 576 bytes stack, but only 512 were available.
    This lead to wrong call address (osWait() instead of osDelay(), so there osFeatureWait==0 forced osError()...
    Sorry for bothering you..Juergen

Children
No data