Cypress CY8CKIT-064S0S2-4343W 工具包入门 - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Cypress CY8CKIT-064S0S2-4343W 工具包入门

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

开始使用

在开始之前,您必须配置 AWS IoT 和 FreeRTOS 以将设备连接到 AWS 云。有关说明,请参阅初始步骤. 完成先决条件后,您将拥有包含 FreeRTOS 凭证的 AWS IoT Core 程序包。

注意

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

设置开发环境

FreeRTOS 使用 CMake 或 Make 构建流。您可以将 ModusToolbox 用于 Make 构建流程。您可以使用随 ModusToolbox 提供的 Eclipse IDE 或合作伙伴 IDE(如 IAR EW-Arm、Arm MDK 或 Microsoft Visual Studio 代码)。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 位于您在向导中选择的卷中的 Applications 文件夹下。

更新OpenOCD

此工具包需要 Cypress OpenOCD 4.0.0 或更高版本才能成功擦除和编程芯片。

更新 CypressOpenOCD

  1. 转到 Cypress OpenOCD 发布页面

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

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

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

更新固件加载程序

此工具包需要 Cypress Firmware-loader 3.0.0 或更高版本。

更新 Cypress 固件加载程序

  1. 转到 Cypress Firmware-loader release 页面

  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 程序员。有关更多信息,请参阅 使用 CMake 配 FreeRTOS.

设置硬件

请按照以下步骤设置套件的硬件。

  1. 预置套件

    按照 CY8CKIT-064S0S2-4343W 工具包预配置指南的说明,安全地预配置 AWS IoT 工具包。

  2. 设置串行连接

    1. 将套件连接到您的主机。

    2. 该工具包的 USB 串行端口会在主机上自动枚举。确定端口号。在 Windows 中,您可以使用 Ports (端口) 下的 Device Manager (设备管理器) 来标识它 (COM 和 LPT)。

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

      • 波特率:115200

      • 数据:8 位

      • 奇偶校验:无

      • 停止位:1

      • 流控制:无

构建并运行 FreeRTOS 演示项目

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

  1. 请确保按照 CY8CKIT-064S0S0-43W 工具包的预配置指南中的步骤操作。

  2. 构建 FreeRTOS 演示。

    1. 打开适用于 ModusToolbox 的 Eclipse IDE 并选择或创建工作区。

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

      展开 General,选择 Existing Project Into Workspace,然后选择 Next

    3. Root Directory (根目录) 中,输入 freertos/projects/cypress/CY8CKIT-064S0S2-4343W/mtb/aws_demos,然后选择项目名称 aws_demos。 默认情况下,应将其选中。

    4. 选择 Finish (完成) 将项目导入您的工作区。

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

      • Quick Panel (快速面板) 中,选择 Build aws_demos Application (构建 aws_demos 应用程序)

      • 选择 Project (项目),然后选择 Build All (全部构建)

      确保项目进行编译且没有错误。

  3. 运行 FreeRTOS 演示项目

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

    2. Quick Panel (快速面板) 中,选择 aws_demos Program (KitProg3)。这将为主板和演示应用程序编程完成后开始运行。

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

      
                                构建 aws_demo 项目后的终端输出的屏幕截图。

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

      1. 1 到 4 – 设备连接到配置的访问点 (AP),并通过使用配置的终端节点和证书连接到 AWS 服务器来预配置。

      2. 5 到 13 – coreMQTT 库已初始化,并且设备已建立 MQTT 连接。

      3. 14 至 17 个 – 设备订阅所有主题,以重新接收发布的消息。

      4. 18 到 30 个 – 设备发布两条消息并等待接收它们。在收到每条消息时,设备发送确认消息。

      同一发布、接收和确认周期将继续,直到所有消息发布。每循环发布两条消息,直到完成配置的周期数。

  4. 将 CMake 与 FreeRTOS 结合使用

    您还可以使用 CMake 构建和运行演示应用程序。要设置 CMake 和本机构建系统,请参阅Prerequisites

    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 程序员对在 cm0.hex 下生成的 cm4.hexbuild_dir 文件进行编程。

  5. 在云上监控 MQTT 消息

    您可以使用 AWS IoT 控制台中的 MQTT 客户端监控您的设备发送到 AWS 云的消息。要使用 AWS IoT MQTT 客户端订阅 MQTT 主题,请执行以下步骤。

    1. 登录到 AWS IoT 控制台.

    2. 在导航窗格中,选择 Test (测试) 以打开 MQTT 客户端。

    3. 对于 Subscription topic (订阅主题),输入 iotdemo/#,然后选择 Subscribe to topic (订阅主题)

    4. 重置套件以强制它发布 MQTT 消息,随后可以在控制台测试客户端上查看这些消息。

运行其他演示

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

  • 低功耗蓝牙演示

  • 无线更新演示

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

  • AWS IoT Device Shadow 演示

Debugging

工具包上的 KitProg3 支持通过 SWD 协议进行调试。

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

OTA 更新

PSoC 64 MCUs通过了所有必需的 FreeRTOS 资格认证测试。但是,在 PSoC 64 标准安全 AWS 固件库中实施的可选无线 (OTA) 功能仍等待评估。当前实施的 OTA 功能通过除 aws_ota_test_case_rollback_if_unable_to_connect_after_update.py 之外的所有 OTA 资格认证测试。

如果使用 PSoC64 标准安全 – AWS MCU 将成功验证的 OTA 映像应用于设备,并且该设备无法与 AWS IoT Core 进行通信,则设备无法自动回滚到已知良好的映像。这可能会导致无法从 AWS IoT Core 访问设备以供进一步更新。此功能仍在由 Cypress 团队进行开发。

有关更多信息,请参阅使用 AWS 的 OTA 更新和 CY8CKIT-064S0S0-43W 工具包。如果您遇到更多问题或需要技术支持,请联系 Crypress 开发人员社区