本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Cypress CY8CKIT-064S0S2-4343W 工具包入门
重要
该参考集成托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅 亚马逊免费版 RTOS 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 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
-
下载适用于您的操作系统 (Windows/Mac/Linux) 的存档文件。
-
删除
中的现有文件。ModusToolbox
/tools_2.x/openocd -
将
中的文件替换为您在上一步下载的存档中提取的内容。ModusToolbox
/tools_2.x/openocd
更新固件加载程序
此工具包需要 Cypress 固件加载程序 3.0.0 或更高版本。
更新 Cypress 固件加载程序
-
下载适用于您的操作系统 (Windows/Mac/Linux) 的存档文件。
-
删除
中的现有文件。ModusToolbox
/tools_2.x/fw-loader -
将
中的文件替换为您在上一步下载的存档中提取的内容。ModusToolbox
/tools_2.x/fw-loader
或者,您可以使用 CMake 从 FreeRTOS 应用程序源代码生成项目构建文件,使用首选的构建工具构建项目,然后使用 OpenOCD 对工具包进行编程。在 CMake 流程中,如果您更喜欢使用 GUI 工具进行编程,请从 Cypress 编程解决方案
设置硬件
按照以下步骤设置工具包的硬件。
-
配置工具包
按照 CY8CKIT-064S0S2-4343W 工具包预配指南
中的说明安全地为 Amazon IoT 配置工具包。 此工具包需要 CySecureTools 3.1.0 或更高版本。
-
设置串行连接
-
将工具包连接到主机。
-
该工具包的 USB 串行端口会在主机上自动枚举。识别端口号。在 Windows 中,您可以使用端口(COM 和 LPT)下的设备管理器进行识别。
-
启动一个串行终端,使用以下设置建立连接:
-
波特率:115200
-
数据:8 位
-
奇偶校验:无
-
停止位:1
-
流控制:无
-
-
构建并运行 FreeRTOS 演示项目
在本节中,您将构建并运行演示。
-
请务必按照 CY8CKIT-064S0S2-4343W 工具包预配指南
中的步骤进行操作。 -
构建 FreeRTOS 演示。
-
打开适用于 ModuStoolBox 的 Eclipse IDE,然后选择或创建工作区。
-
从 File (文件) 菜单,选择 Import (导入)。
展开常规,选择现有项目到工作区,然后选择下一步。
-
在根目录中,输入
并选择项目名称freertos
/projects/cypress/CY8CKIT-064S0S2-4343W/mtb/aws_demosaws_demos
。默认情况下会将其选中。 -
选择完成,以便将项目导入工作区。
-
要构建应用程序,请执行以下操作之一:
-
在快速面板中,选择构建 aws_demos 应用程序。
-
选择项目,然后选择全部构建。
确保编译过程没有错误。
-
-
-
在云上监控 MQTT 消息
在运行演示之前,您可以在 Amazon IoT 控制台中设置 MQTT 客户端来监控您的设备发送到 Amazon 云的消息。要使用 Amazon IoT MQTT 客户端订阅 MQTT 主题,请按照以下步骤操作。
-
登录到 Amazon IoT 控制台
。 -
在导航窗格中选择测试,然后选择 MQTT 测试客户端,以便打开 MQTT 客户端。
-
对于订阅主题,请输入
,然后选择订阅主题。your-thing-name
/example/topic
-
-
运行 FreeRTOS 演示项目
-
在工作区中选择项目
aws_demos
。 -
在快速面板中,选择 aws_demos 程序 (KitProg3)。这会对开发主板进行编程,并在编程完成后开始运行演示应用程序。
-
您可以在串行终端上查看运行应用程序的状态。下图显示了终端输出的一部分。
MQTT 演示发布有关四个不同主题(
iotdemo/topic/
,其中 n=1 到 4)的消息,并订阅所有这些主题以接收相同的消息。收到消息后,该演示会发布一条关于主题n
iotdemo/acknowledgements
的确认消息。以下列表介绍终端输出中显示的调试消息,并引用了消息的序列号。在输出中,首先输出 WICED 主机驱动程序 (WHD) 的驱动程序详细信息(不带序列号)。-
1 到 4 – 设备连接到已配置的接入点 (AP),并通过使用配置的端点和证书连接到 Amazon 服务器来进行预配。
-
5 到 13 – CoreMQTT 库已初始化且设备已建立 MQTT 连接。
-
14 到 17 – 设备订阅所有主题以接收发布的消息。
-
18 到 30 – 设备发布两条消息并等待接收。收到每条消息后,设备都会发送一条确认消息。
相同的发布、接收和确认周期一直会持续到所有消息发布为止。在配置的周期数完成之前,每个周期都会发布两条消息。
-
-
-
将 CMake 与 FreeRTOS 配合使用
您还可以使用 CMake 来构建和运行演示应用程序。要设置 CMake 和本机编译系统,请参阅先决条件 。
-
使用以下命令可生成构建文件。使用
-DBOARD
选项指定目标主板。cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -S
freertos
-Bbuild_dir
如果使用 Windows,则必须指定使用
-G
选项的本机构建系统,因为 CMake 默认使用 Visual Studio。cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -S
freertos
-Bbuild_dir
-G Ninja如果
arm-none-eabi-gcc
不在 Shell 路径中,您还需要设置AFR_TOOLCHAIN_PATH
CMake 变量。-DAFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin
-
要使用 CMake 构建项目,请运行以下命令。
cmake --build
build_dir
-
最后,使用 Cypress Programmer 对
下生成的build_dir
cm0.hex
和cm4.hex
文件进行编程。
-
运行其他演示
以下演示应用程序已经过测试和验证,可以与当前版本配合使用。您可以在
目录下找到这些演示。有关如何运行这些演示的信息,请参阅 FreeRTOS 演示。freertos
/demos
-
低功耗蓝牙演示
-
空中下载更新演示
-
安全套接字 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