cancel
Showing results for 
Search instead for 
Did you mean: 

OS_ERR_INIT_NOT_CALLED with SEGGER embOS and TouchGFX

alessandro.breuza
Associate III

Created a simple .ioc based on STM32H733 (the same happens with STM32F429) with software packs SEGGER.I-CUBE-embOS and STMicroelectronics.X-CUBE_TOUCHGFX.

Components enabled with default configs (see attached file).

As per https://support.touchgfx.com/4.18/docs/basic-concepts/operating-system#touchgfx-os-wrappers, OSWrappers::initialize() should initialize a semaphore/mutex (e.g. OS_SEMAPHORE_Create(&frame_buffer_sem, 1);).

Upon execution of MX_TouchGFX_Init(); system hangs in OS_Error() because of OS_ERR_INIT_NOT_CALLED.

The proposed workaround is to move calls to OS_Init(); and OS_InitHW(); before peripheral initialization (USER CODE BEGIN/END SysInit section), but this has to be done any time code is regenerated by CubeMX.

STM32CubeMX 6.5.0

MCU package for H7 1.10.0

SEGGER.I-CUBE-embOS 1.2.0

STMicroelectronics.X-CUBE-TOUCHGFX 4.18.1

Alessandro

0 REPLIES 0