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.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 许可证下提供。
了解更多信息。