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.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 的项目相同。有关更多信息,请参阅EA-RA6M3G 的刷写指南。
在某些 Qt 许可证下提供。
了解更多信息。