C
在STM32F769I-DISCOVERY上使用FreeRTOS
兼容版本
Qt Quick Ultralite for FreeRTOS已与FreeRTOS v10.0.1进行测试,这是STM32F769I-DISCOVERY的官方支持版本。
注意:如果你正在使用STM32F769I-DISCOVERY的预编译平台库,那么FreeRTOS的部分源代码已经编译进去了。如果你想更改FreeRTOS版本,那么必须重新编译平台库。
关于支持的平台和FreeRTOS版本,请参阅支持的架构、平台和FreeRTOS版本。
为Qt Quick Ultralite提供FreeRTOS符号和库
如果你的项目中使用了app_common,请通过设置CMake缓存条目FREERTOS_DIR来提供Qt Quick Ultralite的FreeRTOS源路径。目录必须包含以下内容
include目录包含FreeRTOS头文件portable目录MemMang目录在portable下。此目录应该包含适用于FreeRTOS的内存管理实现。heap_4.c文件在portable/MemMang下。这是内存分配器的实现,Qt Quick Ultralite默认使用(汽车演示使用heap_5.c)。如果你不能提供heap_4.c或想使用自己的实现,你可以通过设置目标属性QUL_FREERTOS_HEAP_POLICY来更改默认的实现。参见更改堆策略。- 根据你使用的工具链,以下文件是必需的
- 对于Arm GCC工具链
port.c文件在portable/GCC/ARM_CM7/r0p1下。
- 对于IAR工具链
port.c文件在portable/IAR/ARM_CM7/r0p1下。portasm.s文件在portable/IAR/ARM_CM7/r0p1下。
- 对于Arm GCC工具链
event_groups.clist.cqueue.ctasks.ctimers.c
FreeRTOSConfig.h由平台库提供。应用程序必须使用与编译平台库相同的FreeRTOSConfig.h。必须重新编译平台包才能使用自己的FreeRTOS配置。
如果您项目中没有使用 app_common,则不需要设置 FREERTOS_DIR 的 CMake 缓存条目。然而,您必须为 Qt Quick Ultralite 提供以下头文件和函数(即,这些头文件必须包含在您的项目中):
FreeRTOS.htask.hportable.hmemory.hvoid xPortSysTickHandler(void)void *pvPortMalloc(size_t xSize)void vPortFree(void *pv)
有关如何设置不带 app_common 的项目的说明,请参阅 不带 app_common 构建应用程序。
将 FreeRTOS 项目烧录到设备
烧录过程对所有使用 FreeRTOS 的项目相同。有关更多信息,请参阅 ST 板烧录说明。
在特定 Qt 许可证下提供。
了解更多信息。