Associate III
July 12, 2021
Question
allocateBlock never ruturn
- July 12, 2021
- 6 replies
- 2107 views
My HW:
- NUCLEO-F446RE
- Custom DISPLAY Board (TFT ILI9314, TPC TSC2007, SPI FLASH MX25R6435F)
My SW:
- X-CUBE-TOUCHGFX 4.17.0
- STM32CubeIDE Version: 1.6.1
- STM32Cube_FW_F4_V1.26.1
- FreeRTOS 10.3.1 with CMSIS_V2
Randomly and after some time (from 20 minutes to several hours) the TouchGFX_Task task hangs in the AllocateBlock function (FrameBufferAllocator.hpp).
The state of all blocks is other than EMPTY.
virtual uint16_t allocateBlock(const uint16_t x, const uint16_t y, const uint16_t width, const uint16_t height, uint8_t** block)
{
drawingBlock++;
if (drawingBlock == blocks)
{
drawingBlock = 0;
}
while (state[drawingBlock] != EMPTY)
{
FrameBufferAllocatorWaitOnTransfer();
}
assert(state[drawingBlock] == EMPTY);What could be the problem ?
attached image of the debug session (drawingBlock = 2. state[2] = SENDING).
The other tasks work correctly
/Antonello
