Using FreeRTOS on NXP IMXRT1170-EVK
Qt Quick Ultralite for FreeRTOS has been tested with FreeRTOS v10.0.1, which is the officially supported version for NXP IMXRT1170-EVK.
Note: If you are using the precompiled platform library for NXP IMXRT1170-EVK then part of the FreeRTOS sources are already compiled into it. If you would like to change the FreeRTOS version then the platform library has to be rebuilt.
For a list of supported platforms and FreeRTOS versions, see supported architectures, platforms and FreeRTOS versions.
If you are using
app_common in your project, provide a path to FreeRTOS sources for Qt Quick Ultralite by setting the
FREERTOS_DIR CMake cache entry.
Note: The directory name for FreeRTOS sources in MCUXpresso SDK is subject to changes. Check the correct path from the
The directory must contain at least the following:
includedirectory containing FreeRTOS header files. If you are using FreeRTOS from MCUXpresso SDK 2.6 or older, the include is searched from the parent directory.
portable. This directory should contain memory manager implementations for FreeRTOS.
portable/MemMang. This is the memory allocator implementation, which Qt Quick Ultralite uses by default. If you cannot provide
heap_4.cor want to use your own implementation, change the implementation by setting the
QUL_FREERTOS_HEAP_POLICYtarget property. See changing heap policies.
- Depending on the toolchain you are using the following files are required:
- For the Arm GCC toolchain:
portable/GCC/ARM_CM4Fif using FreeRTOS from MCUXpresso SDK 2.6 or older.
- For the IAR toolchain:
portable/IAR/ARM_CM4Fif using FreeRTOS from MCUXpresso SDK 2.6 or older.
- For the Arm GCC toolchain:
FreeRTOSConfig.h is provided by the platform library. The application must use the same
FreeRTOSConfig.h that is used for compiling the platform library. The platform package must be recompiled in order to use your own FreeRTOS configuration.
Note: If custom FreeRTOSConfig.h is used or
configTOTAL_HEAP_SIZE default value is required to be changed, it is important that
configTOTAL_HEAP_SIZE must not be kept too low. Sufficient heap space should be allotted considering text cache, texture cache, intermediate structures for stroke path or dynamic allocations in user application. A low
configTOTAL_HEAP_SIZE value can lead to heap overflow and undesired application crash.
If you are not using
app_common in your project, you do not need to set
FREERTOS_DIR CMake cache entry. However, you must provide the following headers and functions for Qt Quick Ultralite (that is, these headers must be in your project):
void *pvPortMalloc(size_t xSize)
void vPortFree(void *pv)
See building application without
app_common for instructions on how to setup your project without
The flashing process is the same for projects using FreeRTOS. See this page for detailed flashing instructions.
Available under certain Qt licenses.
Find out more.