C
Using FreeRTOS on STM32F769I-DISCOVERY
Compatible versions
Qt Quick Ultralite for FreeRTOS has been tested with FreeRTOS v10.0.1, which is the officially supported version for STM32F769I-DISCOVERY.
Note: If you are using the precompiled platform library for STM32F769I-DISCOVERY 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.
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 FREERTOS_DIR
CMake cache entry. The directory must contain at least the following:
include
directory containing FreeRTOS header filesportable
directoryMemMang
directory underportable
. This directory should contain memory manager implementations for FreeRTOS.heap_4.c
file underportable/MemMang
. This is the memory allocator implementation, which Qt Quick Ultralite uses by default (Automotive demo usesheap_5.c
). If you can't provideheap_4.c
or want to use your own implementation, you can change the used implementation by settingQUL_FREERTOS_HEAP_POLICY
target property. See changing heap policies.- Depending on the toolchain you are using the following files are required:
- For the Arm GCC toolchain:
port.c
file underportable/GCC/ARM_CM7/r0p1
.
- For the IAR toolchain:
port.c
file underportable/IAR/ARM_CM7/r0p1
.portasm.s
file underportable/IAR/ARM_CM7/r0p1
.
- For the Arm GCC toolchain:
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 the 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):
FreeRTOS.h
task.h
portable.h
memory.h
void xPortSysTickHandler(void)
void *pvPortMalloc(size_t xSize)
void vPortFree(void *pv)
See 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. For more information, see Flashing Instructions for ST boards.
Available under certain Qt licenses.
Find out more.