CMSIS-RTOS2 文档翻译 之 RTX v5 实现(创建一个 RTX5 项目)

时间:2024-05-20 22:27:08
RTX v5 实现

Keil RTX 版本 5(RTX5)实现 CMSIS-RTOS2 作为基于 Arm Cortex-M 处理器的设备的本地 RTOS 接口。提供了到 CMSIS-RTOS API v1 的翻译层。因此,RTX5 可以用于先前基于 RTX 版本 4 和 CMSIS-RTOS 版本 1 的应用程序,而且花费最少。

以下各节提供了更多详细信息:

创建一个 RTX5 项目

使用 RTX5 创建微控制器应用程序的步骤如下:

  • 创建一个新项目并选择一个微控制器设备。
  • 在 Manage Run-Time Environment 窗口中,选择 CMSIS::CORE 和 CMSIS::RTOS2 (API)::Keil RTX5。您可以选择将 RTX 添加为库(Variant:Library)或添加完整的源代码(Variant:Source - 如果使用事件记录器,则为必需的):

    CMSIS-RTOS2 文档翻译 之 RTX v5 实现(创建一个 RTX5 项目)
  • 如果验证输出需要其他组件,请尝试使用 “解决” 按钮。
  • 点击确定。在 Project 窗口中,您将看到已经自动添加到项目中的文件,例如 RTX_Config.h,RTX_Config.c,库或源代码文件以及系统和启动文件:

    CMSIS-RTOS2 文档翻译 之 RTX v5 实现(创建一个 RTX5 项目)
  • 如果使用 Variant:Source 作为上面的 Statet,则必须确保至少使用 C99 编译器模式(项目选项 -> C/C++ -> C99 模式)。
  • 您可以通过右键单击 Source Group 1 并选择 Add New Item to 'Source Group 1' 来将模板文件添加到项目中。在新窗口中,点击用户代码模板。在右侧,您将看到 CMSIS-RTOS RTX 的所有可用模板文件:

    CMSIS-RTOS2 文档翻译 之 RTX v5 实现(创建一个 RTX5 项目)
  • 使用 RTX_Config.h 文件将 RTX5 配置为应用程序的需求。

Cortex-A 上 RTX 的附加要求

与 M 级设备相比,基于 Cortex-A 的微控制器在中断和定时器实现方面的统一性较差。因此,RTX 在使用 A 级设备时需要额外的组件,即 IRQ Controller(API)和 OS Tick(API)实现。

CMSIS-RTOS2 文档翻译 之 RTX v5 实现(创建一个 RTX5 项目)

与 CMSIS 一起提供的默认实现是

对于未实现 GIC,PTIM 和 GTIM 的设备,请参阅相应的设备系列包并选择适当的实现。

添加对 RTX 特定功能的支持

如果您在应用程序代码中需要某些 RTX 特定功能,请包括头文件 rtx_os.h 。这使低功耗和无滴答的操作模式成为可能。

添加事件记录器可见性

  • 要将事件记录器与 RTX5 一起使用,请选择软件组件 Compiler:Event Recorder 。
  • 选择软件组件的源码版本 CMSIS::RTOS2 (API): Keil RTX5 。CMSIS-RTOS2 文档翻译 之 RTX v5 实现(创建一个 RTX5 项目)
    事件记录器的组件选择
  • 在应用程序代码中调用函数 EventRecorderInitialize()(理想情况下在 main()中)。
  • 构建应用程序代码并将其下载到调试硬件。

目标应用程序生成事件信息后,可以使用事件记录器在 μVision 调试器中查看它。