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 许可证。
了解更多。