本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 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
-
下载您的操作系统 (Windows/Mac/Linux) 的存档文件。
-
删除
中的现有文件。ModusToolbox
/tools_2.x/openocd -
将
中的文件替换为您在上一步中下载的档案的提取内容。ModusToolbox
/tools_2.x/openocd
更新固件加载程序
此工具包需要 Cypress Firmware-loader 3.0.0 或更高版本。
更新 Cypress 固件加载程序
-
下载您的操作系统 (Windows/Mac/Linux) 的存档文件。
-
删除
中的现有文件。ModusToolbox
/tools_2.x/fw-loader -
将
中的文件替换为您在上一步中下载的档案的提取内容。ModusToolbox
/tools_2.x/fw-loader
或者,您也可以使用 CMake 从 FreeRTOS 应用程序源代码生成项目构建文件,使用您的首选构建工具构建项目,然后使用 OpenOCD 对套件进行编程。 如果您更喜欢使用
GUI 工具对 CMake 流进行编程,请从 Cypress 编程解决方案
设置硬件
请按照以下步骤设置套件的硬件。
-
预置套件
按照 CY8CKIT-064S0S2-4343W 工具包预配置指南
的说明,安全地预配置 AWS IoT 工具包。 -
设置串行连接
-
将套件连接到您的主机。
-
该工具包的 USB 串行端口会在主机上自动枚举。确定端口号。在 Windows 中,您可以使用 Ports (端口) 下的 Device Manager (设备管理器) 来标识它 (COM 和 LPT)。
-
启动一个串行终端,使用以下设置建立连接:
-
波特率:115200
-
数据:8 位
-
奇偶校验:无
-
停止位:1
-
流控制:无
-
-
构建并运行 FreeRTOS 演示项目
在本节中,您将构建并运行演示。
-
请确保按照 CY8CKIT-064S0S0-43W 工具包的预配置指南
中的步骤操作。 -
构建 FreeRTOS 演示。
-
打开适用于 ModusToolbox 的 Eclipse IDE 并选择或创建工作区。
-
从 File (文件) 菜单,选择 Import (导入).
展开 General,选择 Existing Project Into Workspace,然后选择 Next。
-
在 Root Directory (根目录) 中,输入
,然后选择项目名称freertos
/projects/cypress/CY8CKIT-064S0S2-4343W/mtb/aws_demosaws_demos
。 默认情况下,应将其选中。 -
选择 Finish (完成) 将项目导入您的工作区。
-
通过执行以下操作之一来构建应用程序:
-
从 Quick Panel (快速面板) 中,选择 Build aws_demos Application (构建 aws_demos 应用程序)。
-
选择 Project (项目),然后选择 Build All (全部构建)。
确保项目进行编译且没有错误。
-
-
-
运行 FreeRTOS 演示项目
-
在工作区中选择项目
aws_demos
。 -
从 Quick Panel (快速面板) 中,选择 aws_demos Program (KitProg3)。这将为主板和演示应用程序编程完成后开始运行。
-
您可以在串行终端中查看正在运行的应用程序的状态。下图显示了终端输出的一部分。
MQTT 演示在四个不同的主题(
iotdemo/topic/
,其中 n=1 到 4)上发布消息,并订阅所有这些主题以接收相同的消息。收到消息后,演示将在主题n
iotdemo/acknowledgements
上发布确认消息。 以下列表描述了终端输出中显示的调试消息,以及对消息的序列号的引用。在输出中,先打印 WICED Host Driver (WHD) 驱动程序详细信息,但不指定序列号。-
1 到 4 – 设备连接到配置的访问点 (AP),并通过使用配置的终端节点和证书连接到 AWS 服务器来预配置。
-
5 到 13 – coreMQTT 库已初始化,并且设备已建立 MQTT 连接。
-
14 至 17 个 – 设备订阅所有主题,以重新接收发布的消息。
-
18 到 30 个 – 设备发布两条消息并等待接收它们。在收到每条消息时,设备发送确认消息。
同一发布、接收和确认周期将继续,直到所有消息发布。每循环发布两条消息,直到完成配置的周期数。
-
-
-
将 CMake 与 FreeRTOS 结合使用
您还可以使用 CMake 构建和运行演示应用程序。要设置 CMake 和本机构建系统,请参阅Prerequisites。
-
使用以下命令生成构建文件。使用
-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 程序员对在
cm0.hex
下生成的cm4.hex
和
文件进行编程。build_dir
-
-
在云上监控 MQTT 消息
您可以使用 AWS IoT 控制台中的 MQTT 客户端监控您的设备发送到 AWS 云的消息。要使用 AWS IoT MQTT 客户端订阅 MQTT 主题,请执行以下步骤。
-
登录到 AWS IoT 控制台
. -
在导航窗格中,选择 Test (测试) 以打开 MQTT 客户端。
-
对于 Subscription topic (订阅主题),输入 iotdemo/#,然后选择 Subscribe to topic (订阅主题)。
-
重置套件以强制它发布 MQTT 消息,随后可以在控制台测试客户端上查看这些消息。
-
运行其他演示
以下演示应用程序已经过测试和验证,与当前版本配合使用。您可以在
目录下找到这些演示。有关如何运行这些演示的信息,请参阅FreeRTOS 演示。
freertos
/demos
-
低功耗蓝牙演示
-
无线更新演示
-
安全套接字 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
如果使用 PSoC64 标准安全 – AWS MCU 将成功验证的 OTA 映像应用于设备,并且该设备无法与 AWS IoT Core 进行通信,则设备无法自动回滚到已知良好的映像。这可能会导致无法从 AWS IoT Core 访问设备以供进一步更新。此功能仍在由 Cypress 团队进行开发。
有关更多信息,请参阅使用 AWS 的 OTA 更新和 CY8CKIT-064S0S0-43W 工具包