Using FreeRTOS on NXP IMXRT1050-EVKB

Compatible versions

Qt Quick Ultralite for FreeRTOS has been tested with FreeRTOS v10.0.1, which is the officially supported version for NXP IMXRT1050-EVKB.

For a list of supported platforms and FreeRTOS versions, see supported architectures, platforms and FreeRTOS versions .

Providing FreeRTOS symbols and libraries for Qt Quick Ultralite

If you are using app_common in your project, provide a path to FreeRTOS sources for Qt Quick Ultralite by setting the IMXRT1050_FREERTOS_DIR 环境变量。

注意: The directory name for FreeRTOS sources in MCUXpresso SDK is subject to changes. Check the correct path from the rtos 目录。

The directory must contain at least the following:

  • include directory 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 directory
  • MemMang directory under portable . This directory should contain memory manager implementations for FreeRTOS.
  • heap_4.c file under portable/MemMang . This is the memory allocator implementation, which Qt Quick Ultralite uses by default. If you cannot provide heap_4.c or want to use your own implementation, change the implementation by setting the FREERTOS_HEAP_POLICY target property. See changing heap policies .
  • Depending on the toolchain you are using the following files are required:
    • For armgcc 工具链 :
      • port.c file under portable/GCC/ARM_CM4F .
      • fsl_tickless_systick.c file under portable/GCC/ARM_CM4F if using FreeRTOS from MCUXpresso SDK 2.6 or older.
    • For IAR 工具链 :
      • port.c file under portable/IAR/ARM_CM4F .
      • portasm.s file under portable/IAR/ARM_CM4F .
      • fsl_tickless_systick.c file under portable/IAR/ARM_CM4F if using FreeRTOS from MCUXpresso SDK 2.6 or older.
  • event_groups.c
  • list.c
  • queue.c
  • tasks.c
  • timers.c

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.

If you are not using app_common in your project, you do not need to set IMXRT1050_FREERTOS_DIR environment variable. However, you must provide the following headers and functions for Qt Quick Ultralite (that is, these headers must be in your project):

  • FreeRTOS.h
  • task.h
  • portable.h
  • memory.h
  • void xPortSysTickHandler(void)
  • void *pvPortMalloc(size_t xSize)
  • void vPortFree(void *pv)

building application without app_common for instructions on how to setup your project without app_common .

Flashing FreeRTOS projects

The flashing process is the same for projects using FreeRTOS. See NXP i.MX RT1050 评估套件 for detailed flashing instructions.