赛普拉斯 CY8CKIT-064S0S2-4343W 套件入门 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

赛普拉斯 CY8CKIT-064S0S2-4343W 套件入门

重要

此参考集成托管在 Amazon-FreeRTOS 存储库中,该存储库已过时。建议您在创建新项目时从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的现有 FreeRTOS 项目,请参阅亚马逊 FreeRTOS Github 存储库迁移指南

本教程提供了 CY8CKIT-064S0S2-4343W 套件入门说明。如果您还没有套件,您可以使用该链接购买套件。您也可以使用该链接访问套件用户指南。

开始使用

您必须先配置 FreeRTOS 以将您的设备连接到Amazon云端,Amazon IoT然后才能开始使用 FreeRTOS。有关说明,请参阅 初始步骤。满足先决条件后,您将获得包含Amazon IoT Core证书的 FreeRTOS 软件包。

注意

在本教程中,在 “第一步” 部分创建的 FreeRTOS 下载目录的路径被称为freertos

设置开发环境

FreeRTOS 可以与 CMake 或 Make 构建流程配合使用。你可以用 ModusToolbox 于 Make 构建流程。你可以使用随附的 Eclipse IDE ModusToolbox 或合作伙伴 IDE,例如 IAR EW-arm、Arm MDK 或微软 Visual Studio Code。Eclipse IDE 与 Windows、macOS 和 Linux 操作系统兼容。

在开始之前,请下载并安装最新的ModusToolbox 软件。有关更多信息,请参阅ModusToolbox 安装指南

更新 ModusToolbox 2.1 或更早版本的工具

如果你使用 ModusToolbox 2.1 Eclipse IDE 来编程这个套件,你需要更新 OpenOCD 和固件加载器工具。

在以下步骤中,默认ModusToolbox路径为:

  • Windows 是C:\Users\user_name\ModusToolbox

  • Linux 是user_home/ModusToolbox或您选择提取存档文件的地方。

  • macOS 位于您在向导中选择的卷中的 “应用程序” 文件夹下。

更新 OpenOCD

该套件需要 Cypress OpenOCD 4.0.0 或更高版本才能成功擦除和编程芯片。

更新赛普拉斯 OpenOCD
  1. 前往赛普拉斯 OpenOCD 发布页面

  2. 下载适用于你的操作系统(Windows/Mac/Linux)的存档文件。

  3. 删除中的现有文件ModusToolbox/tools_2.x/openocd

  4. 将中的ModusToolbox/tools_2.x/openocd文件替换为您在上一步中下载的存档的提取内容。

更新固件加载器

此套件需要 Cypress 固件加载器 3.0.0 或更高版本。

更新 Cypress 固件加载器
  1. 转到 C ypress 固件加载器发布页面

  2. 下载适用于你的操作系统(Windows/Mac/Linux)的存档文件。

  3. 删除中的现有文件ModusToolbox/tools_2.x/fw-loader

  4. 将中的ModusToolbox/tools_2.x/fw-loader文件替换为您在上一步中下载的存档的提取内容。

或者,您可以使用 CMake 从 FreeRTOS 应用程序源代码生成项目构建文件,使用首选的构建工具生成项目,然后使用 OpenOCD 对套件进行编程。如果你更喜欢使用 GUI 工具对 CMake 流程进行编程,请从 Cypress 编程解决方案网页下载并安装 Cypress Progr ammer。有关更多信息,请参阅 在 FreeRTOS 中使用 cMake

设置硬件

按照以下步骤操作,设置套件的硬件。

  1. 配置您的套件

    按照 CY8CKIT-064S0S2-4343W 套件配置指南的说明安全地配置您的套件Amazon IoT。

    此套件需要 CySecureTools 3.1.0 或更高版本。

  2. 设置串行连接

    1. 将套件Connect 您的主计算机。

    2. 套件的 USB 串行端口将在主机上自动枚举。确定端口号。在 Windows 中,您可以使用端口(COM 和 LPT)下的设备管理器对其进行识别。

    3. 启动一个串行终端,使用以下设置建立连接:

      • 波特率:115200

      • 数据:8 位

      • 奇偶校验:无

      • 停止位:1

      • 流控制:无

生成并运行 FreeRTOS 演示项目

在本节中,您将构建并运行演示。

  1. 确保按照 CY8CKIT-064S0S2-4343W 套件配置指南中的步骤进行操作。

  2. 构建 FreeRTOS 演示版。

    1. 打开 Eclipse IDE, ModusToolbox 然后选择或创建工作区。

    2. File (文件) 菜单,选择 Import (导入)

      展开 “常规”,选择 “现有项目到工作区”,然后选择 “下一步”。

    3. 根目录中,输入freertos/projects/cypress/CY8CKIT-064S0S2-4343W/mtb/aws_demos然后选择项目名称aws_demos。应默认选择的是默认选定。

    4. 选择 “完成” 将项目导入您的工作区。

    5. 通过执行以下操作之一构建应用程序:

      • 从 “快速面板” 中,选择 “构建 aws_demos 应用程序”。

      • 选择 “项目”,然后选择 “全部构建”。

      确保项目编译时没有错误。

  3. 在云上监控 MQTT 消息

    在运行演示之前,您可以在Amazon IoT控制台中设置 MQTT 客户端来监控您的设备发送到Amazon云端的消息。要通过 MQTT 客户端订阅Amazon IoT MQTT 主题,请按照以下步骤操作。

    1. 登录到 Amazon IoT 控制台

    2. 在导航窗格中,选择 “测试”,然后选择 MQTT 测试客户端打开 MQTT 客户端。

    3. 在 “订阅主题” 中your-thing-name/example/topic,输入,然后选择 “订阅主题”。

  4. 运行 FreeRTOS 演示项目

    1. 在工作区aws_demos中选择项目。

    2. 快速面板中选择 aws_demos 程序 (KitProg3)。这会对开发板进行编程,演示应用程序在编程完成后开始运行。

    3. 您可以在串行终端中查看运行应用程序的状态。下图显示了终端输出的一部分。

      
                                生成aws_demo项目后终端输出的屏幕截图。

      MQTT 演示发布有关四个不同主题(iotdemo/topic/n其中 n=1 到 4)的消息,并订阅所有这些主题以接收相同的消息。收到消息后,演示会发布有关该主题的确认消息iotdemo/acknowledgements。以下列表描述了终端输出中出现的调试消息,并引用了这些消息的序列号。在输出中,首先打印不带序列号的 WICED 主机驱动程序 (WHD) 驱动程序详细信息。

      1. 1 到 4 — 设备连接到配置的接入点 (AP),通过使用配置的端点和证书连接到Amazon服务器进行配置。

      2. 5 到 13 — CoreMQTT 库已初始化,设备建立 MQTT 连接。

      3. 14 到 17 — 设备订阅所有主题以接收回已发布的消息。

      4. 18 到 30 — 设备发布两条消息并等待收到回复。收到每条消息后,设备会发送一条确认消息。

      相同的发布、接收和确认周期将持续到所有消息发布为止。在配置的周期数完成之前,每个周期会发布两条消息。

  5. 在 FreeRTOS 中使用 cMake

    您也可以使用 CMake 构建和运行演示应用程序。要设置 CMake 和原生编译系统,请参阅先决条件

    1. 使用以下命令生成构建文件。使用-DBOARD选项指定目标主板。

      cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -S freertos -B build_dir

      如果你使用的是 Windows,则必须使用-G选项指定本机编译系统,因为 CMake 默认使用 Visual Studio。

      cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -S freertos -B build_dir -G Ninja

      如果 arm-none-eabi-gcc 不在 Shell 路径中,您还需要设置 AFR_TOOLCHAIN_PATH CMake 变量。

      -DAFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin
    2. 使用以下命令使用 CMake 生成项目。

      cmake --build build_dir
    3. 最后,使用 Cypress 程序员build_dir对下生成的cm0.hexcm4.hex文件进行编程。

运行其他演示

以下演示应用程序已经过测试和验证,可与当前版本配合使用。你可以在freertos/demos目录下找到这些演示。有关如何运行这些演示的信息,请参阅FreeRTOS reRRR

  • 低功耗蓝牙演示

  • 无线更新演示

  • 安全套接字 Echo 客户端演示

  • Amazon IoTDeDevice Shadow

调试

套件中的 KitProg 3 支持通过 SWD 协议进行调试。

  • 要调试 FreeRTOS 应用程序,请在工作区中选择 aws_demos 项目,然后从快速面板中选择 aws_demos Debug (KitProg3)

OTA 更新

PSoC 64 微控制器已通过所有必需的 FreeRTOS 资格测试。但是,PSoC 64 标准安全Amazon固件库中实现的可选 over-the-air (OTA) 功能仍在评估中。目前实现的 OTA 功能已通过除 aws_ota_test_case_rollback_if_unable_to_connect_after_update.py 之外的所有 OTA 资格测试。

如果已成功验证的 OTA 映像应用于使用 PSoC64 Standard Secure —Amazon MCU 的设备并且该设备无法与Amazon IoT Core之通信,则该设备无法自动回滚到已知良好的原始映像。这可能会导致无法访问设备Amazon IoT Core以进行进一步的更新。赛普拉斯团队仍在开发此功能。

有关更多信息,请参阅 OTA 更新Amazon和 CY8CKIT-064S0S2-4343W 套件。如果您还有其他问题或需要技术支持,请联系 Cypress 开发者社区