2023-03-29 2:00 PM
Hello,
I am currently testing my custom board that utilizes the STM32H7B3IIT6 MCU. Since it is a custom board, I generated the code via CubeMX with the TouchGFX 4.20.0 software package. When I try to run the firmware, I noticed that I never entered the model::tick() function in the Model.cpp function. I ran the debugger and, in the taskEntry code, I have a function OSWrappers::waitForVSync() and the firmware stays in that function. It never gets past there.
This function exists in my "custom board" bring up where I used the STM32H7B3I-EVAL evaluation board and it does not get stuck in it. I acknowledge that TouchGFX know the evaluation board's pinout and specific configuration. My custom board cannot use that, so I copied the files from the evaluation board's working code and pasted them into my custom board project.
I have attached my .ioc file for reference, along with the snippet of my taskEntry code.
void TouchGFXHAL::taskEntry()
{
    enableLCDControllerInterrupt();
    enableInterrupts();
 
    OSWrappers::waitForVSync();
    backPorchExited();
 
    /* Assert display enable LCD_DISP_CTRL pin */
    //HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET);
    /* Assert back light LCD_BL_CTRL pin */
    //HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);
 
    for (;;)
    {
        OSWrappers::waitForVSync();
        backPorchExited();
    }
}When I went into the waitForVSync() function, I notice I specifically get stuck in this portion of the function:
osMessageQueueGet(vsync_queue, &dummyGet, 0, osWaitForever)
void OSWrappers::waitForVSync()
{
    uint32_t dummyGet;
    // First make sure the queue is empty, by trying to remove an element with 0 timeout.
    osMessageQueueGet(vsync_queue, &dummyGet, 0, 0);
 
    // Then, wait for next VSYNC to occur.
    osMessageQueueGet(vsync_queue, &dummyGet, 0, osWaitForever);
}Can anyone help me diagnose what would cause this?
For further info, I am using a Rocktech RK043FN66HS-CTG display, which is capable of doing up to RGB888. In the firmware, I am limiting it to RGB565 for testing.
Solved! Go to Solution.
2023-03-30 8:36 AM
Hello Everyone,
I solved the issue. It was a discrepency between the LTDC and the TouchGFX Software Package configuration settings in the CubeMX. One was RGB888 and the other was RGB565. Once I aligned those, the issue went away.
2023-03-30 8:36 AM
Hello Everyone,
I solved the issue. It was a discrepency between the LTDC and the TouchGFX Software Package configuration settings in the CubeMX. One was RGB888 and the other was RGB565. Once I aligned those, the issue went away.
