C
在NXP IMXRT1050-EVKB上使用FreeRTOS
兼容版本
Qt Quick Ultralite已与FreeRTOS v10.0.1进行了测试,这是用于NXP IMXRT1050-EVKB的官方支持版本。
注意:如果您正在使用NXP IMXRT1050-EVKB的预编译平台库,则FreeRTOS的源代码部分已被编译到其中。如果要更改FreeRTOS版本,则必须重新构建平台库。
有关支持的平台和FreeRTOS版本,请参阅支持的架构、平台和FreeRTOS版本。
为Qt Quick Ultralite提供FreeRTOS符号和库
如果您在项目中使用app_common
,则通过设置FREERTOS_DIR
CMake缓存条目来提供Qt Quick Ultralite的FreeRTOS源代码路径。
注意:MCUXpresso SDK中FreeRTOS源代码的目录名称可能发生变化。从rtos
目录检查正确路径。
目录必须至少包含以下内容
include
目录包含FreeRTOS头文件。如果您使用的是MCUXpresso SDK 2.6或更早版本,则在父目录中进行搜索。portable
目录MemMang
目录位于portable
下。该目录应包含FreeRTOS的内存管理实现。portable/MemMang
下的heap_4.c
文件。这是内存分配器的实现,Qt Quick Ultralite默认使用。如果您无法提供heap_4.c
或希望使用自己的实现,通过设置QUL_FREERTOS_HEAP_POLICY
目标属性来更改实现。请参阅更改堆策略。- 根据您使用的工具链,需要以下文件
- 对于Arm GCC工具链
port.c
文件位于portable/GCC/ARM_CM4F
下。- 如果在MCUXpresso SDK 2.6或更早版本中使用FreeRTOS,则位于
portable/GCC/ARM_CM4F
下的fsl_tickless_systick.c
文件。
- 对于IAR工具链
port.c
文件位于portable/IAR/ARM_CM4F
下。portasm.s
文件位于portable/IAR/ARM_CM4F
下。- 如果在MCUXpresso SDK 2.6或更早版本中使用FreeRTOS,则位于
portable/IAR/ARM_CM4F
下的fsl_tickless_systick.c
文件。
- 对于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 的项目,闪存过程是相同的。有关详细的闪存说明,请参阅 本页。
适用于某些 Qt 许可证。
了解更多。