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