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 Qul::Platform::exec , which will act as the main loop of that process. This is explained in more detail on the 使用 Qt Quick Ultralite 采用 FreeRTOS 页面。

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

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 文件。

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