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下。
  • event_groups.c
  • list.c
  • queue.c
  • tasks.c
  • timers.c

FreeRTOSConfig.h由平台库提供。应用程序必须使用与编译平台库相同的FreeRTOSConfig.h。必须重新编译平台包才能使用自己的FreeRTOS配置。

如果您项目中没有使用 app_common,则不需要设置 FREERTOS_DIR 的 CMake 缓存条目。然而,您必须为 Qt Quick Ultralite 提供以下头文件和函数(即,这些头文件必须包含在您的项目中):

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

有关如何设置不带 app_common 的项目的说明,请参阅 不带 app_common 构建应用程序

将 FreeRTOS 项目烧录到设备

烧录过程对所有使用 FreeRTOS 的项目相同。有关更多信息,请参阅 ST 板烧录说明

在特定 Qt 许可证下提供。
了解更多信息。