C
在 EK-RA6M3G 上使用 FreeRTOS
兼容的版本
Qt Quick Ultralite for FreeRTOS 已与 FreeRTOS v10.6.1(从Flexible Software Package (FSP) v5.2.0中测试,这是 EK-RA6M3G 的官方支持版本)进行了测试。
注意:如果您使用的是预编译的平台库,则部分 FreeRTOS 源代码已编译到其中。如果您想使用不同的 FreeRTOS 版本,则必须重新构建平台库。
有关支持的平台和 FreeRTOS 版本的列表,请参阅 支持的架构、平台和 FreeRTOS 版本。
为 Qt Quick Ultralite 提供 FreeRTOS 符号和库
如果您在项目中使用 app_common,请通过设置 FREERTOS_DIR CMake 缓存条目来为 Qt Quick Ultralite 提供FreeRTOS 源文件路径。目录必须包含以下内容
include目录包含 FreeRTOS 标头文件portable目录- 在
portable下的MemMang目录。此目录应包含 FreeRTOS 的内存管理器实现。 - 在
portable/MemMang下的heap_4.c文件。这是 Qt Quick Ultralite 默认使用的内存分配器实现。如果您无法提供heap_4.c或想要使用自己的实现,您可以通过设置QUL_FREERTOS_HEAP_POLICY目标属性来更改使用的实现。有关详细信息,请参阅 更改堆策略。 - 以下文件是必需的
- 从 Flexible Software Package (FSP) 源代码下的
ra/fsp/src/rm_freertos_port中的port.c文件。 - 从 Flexible Software Package (FSP) 源代码下的
ra/fsp/src/rm_freertos_port中的portmacro.h文件。
- 从 Flexible Software Package (FSP) 源代码下的
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 的项目相同。有关更多信息,请参阅EA-RA6M3G 的刷写指南。
在某些 Qt 许可证下提供。
了解更多信息。