C

Porting Qt Quick Ultralite to an RTOS

Porting Qt Quick Ultralite to an RTOS platform follows similar steps as bare metal platforms presented in the other sections of this guide. The following sections outline some of the differences compared to the bare metal platforms.

A Qt Quick Ultralite application on the RTOS platform is started as an RTOS task/thread using Qul::Application::exec. This call leads eventually to PlatformContext::exec, which will act as the main loop of that process. This is explained in more detail on the Using Qt Quick Ultralite with FreeRTOS page.

All of the platform APIs presented in the platform porting guide may be adapted to use platform provided services or APIs. One example of such adaptation is the memory allocation API in FreeRTOS ports of Qt Quick Ultralite that may be implemented by the API provided by the OS.

extern void *pvPortMalloc(size_t xWantedSize);
void *qul_malloc(std::size_t size)
{
    return pvPortMalloc(size);
}

FreeRTOS specific details

The QUL_OS cached CMake variable may be set to "FreeRTOS" in order to enable usage of the app_common framework. Platform-specific variables are set in the BoardDefaults.cmake file.

set(QUL_OS "FreeRTOS" CACHE INTERNAL "Operating system")

Available under certain Qt licenses.
Find out more.