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

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

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

重要

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

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

开始使用

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

注意

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

设置开发环境

FreeRTOS 可以与 CMake 或 Make 构建流程配合使用。您可以在 Make 构建流程中使用 ModusToolbox。您可以使用 ModuStoolBox 附带的 Eclipse IDE 或合作伙伴 IDE,例如 IAR EW-Arm、Arm MDK 或 Microsoft 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 或更高版本才能成功对芯片进行擦除和编程。

更新 Cypress OpenOCD
  1. 转到 Cypress OpenOCD 发布页面

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

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

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

更新固件加载程序

此工具包需要 Cypress 固件加载程序 3.0.0 或更高版本。

更新 Cypress 固件加载程序
  1. 转到 Cypress 固件加载程序发布页面

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

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

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

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

设置硬件

按照以下步骤设置工具包的硬件。

  1. 配置工具包

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

    此工具包需要 CySecureTools 3.1.0 或更高版本。

  2. 设置串行连接

    1. 将工具包连接到主机。

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

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

      • 波特率:115200

      • 数据:8 位

      • 奇偶校验:无

      • 停止位:1

      • 流控制:无

构建并运行 FreeRTOS 演示项目

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

  1. 请务必按照 CY8CKIT-064S0S2-4343W 工具包预配指南中的步骤进行操作。

  2. 构建 FreeRTOS 演示。

    1. 打开适用于 ModuStoolBox 的 Eclipse IDE,然后选择或创建工作区。

    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 云的消息。要使用 Amazon IoT MQTT 客户端订阅 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. 将 CMake 与 FreeRTOS 配合使用

    您还可以使用 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 Programmer 对 build_dir 下生成的 cm0.hexcm4.hex 文件进行编程。

运行其他演示

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

  • 低功耗蓝牙演示

  • 空中下载更新演示

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

  • Amazon IoT Device Shadow 演示

调试

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

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

OTA 更新

PSoC 64 MCU 已通过所有要求的 FreeRTOS 资格认证测试。但是,PSoC 64 Standard Secure Amazon 固件库中实现的可选空中下载 (OTA) 功能仍有待评估。目前实现的 OTA 功能已通过所有 OTA 资格认证测试,但 aws_ota_test_case_rollback_if_unable_to_connect_after_update.py 除外。

当使用 PSoC64 Standard Secure 成功将经过验证的 OTA 映像提供给设备时 – Amazon MCU 和设备无法与 Amazon IoT Core 通信,该设备无法自动回滚到原始的已知正常映像。这可能会导致无法从 Amazon IoT Core 访问该设备以进行进一步更新。Cypress团队仍在开发此功能。

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