本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Cypress CY8CKIT-064S0S2-4343W 套件入門
重要
此參考整合託管在已棄用的 Amazon-FreeRTOS 儲存庫上。我們建議您在建立新專案時從這裡開始。如果您已經有以現在已棄用的 Amazon-FreeRTOS 儲存庫為基礎的現有 FreeRTOS 專案,請參閱 Amazon-FreeRTOS Github 儲存庫遷移指南。 FreeRTOS
本教學課程提供開始使用 CY8CKIT-064S0S2-4343W
開始使用
開始之前,您必須設定 AWS IoT 和 FreeRTOS 將您的裝置連線至 AWS 雲端。如需說明,請參閱首要步驟。完成先決條件後,您將擁有具有 AWS IoT Core 登入資料的 FreeRTOS 套件。
注意
在本教學課程中,在「第一個步驟」區段中建立的 FreeRTOS 下載目錄路徑稱為 。freertos
設定開發環境
FreeRTOS 適用於 CMake 或建立建置流程。您可以使用 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
更新 Firmware-loader
此套件需要 Cypress Firmware-loader 3.0.0 或更新版本。
更新 Cypress Firmware-loader
-
下載作業系統的封存檔案 (Windows/Mac/Linux)。
-
刪除 中的現有檔案
。ModusToolbox/tools_2.x/fw-loader -
將 中的檔案取代為您
在上一個步驟中下載的封存擷取內容。ModusToolbox/tools_2.x/fw-loader
或者,您可以使用 CMake 從 FreeRTOS 應用程式原始程式碼產生專案建置檔案、使用您偏好的建置工具建置專案,然後使用 OpenOCD 編寫套件的程式。如果您偏好使用 GUI 工具搭配 CMake 流程進行程式設計,請從 Cypress 程式設計解決方案網頁下載並安裝 Cypress 程式設計
設定您的硬體
請依照下列步驟來設定套件的硬體。
-
佈建您的套件
請遵循 CY8CKIT-064S0S2-4343W 套件的佈建指南
說明,安全地佈建您的套件 AWS IoT。 此套件需要 CySecureTools 3.1.0 或更新版本。
-
設定序列連線
-
將套件連接至您的主機電腦。
-
主機電腦上會自動列舉套件的 USB 序列連接埠。識別連接埠號碼。在 Windows 中,您可以使用連接埠 (COM & LPT) 下的 Device Manager 來識別它。
-
啟動序列終端機,並使用以下設定開啟連線:
-
傳輸速率: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 訊息
執行示範之前,您可以在 AWS IoT 主控台中設定 MQTT 用戶端,以監控裝置傳送至 AWS 雲端的訊息。若要使用 MQTT 用戶端訂閱 AWS IoT MQTT 主題,請遵循下列步驟。
-
登入 AWS IoT 主控台
。 -
在導覽窗格中,選擇測試,然後選擇 MQTT 測試用戶端以開啟 MQTT 用戶端。
-
針對訂閱主題,輸入
,然後選擇訂閱主題。your-thing-name/example/topic
-
-
執行 FreeRTOS 示範專案
-
在工作區
aws_demos中選取專案。 -
從快速面板中,選取 aws_demos Program (KitProg3)。這會在程式設計完成後,開始對電路板和示範應用程式進行程式設計。
-
您可以在序列終端機中檢視執行中應用程式的狀態。下圖顯示終端機輸出的一部分。
MQTT 示範會在四個不同的主題 (
iotdemo/topic/,其中 n=1 到 4) 上發佈訊息,並訂閱所有這些主題以接收相同的訊息。收到訊息時,示範會在主題 上發佈確認訊息niotdemo/acknowledgements。以下清單說明顯示在終端機輸出中的偵錯訊息,並參考訊息的序號。在輸出中,會先列印 WICED 主機驅動程式 (WHD) 驅動程式詳細資訊,無需序列編號。-
1 到 4 – 裝置連線至設定的存取點 (AP),並使用設定的端點和憑證連線至 AWS 伺服器來佈建。
-
5 到 13 – coreMQTT 程式庫已初始化,裝置會建立 MQTT 連線。
-
14 到 17 – 裝置訂閱所有主題,以接收已發佈的訊息。
-
18 到 30 – 裝置發佈兩則訊息,並等待接收回訊息。收到每個訊息時,裝置會傳送確認訊息。
發佈、接收和確認的相同週期會持續到所有訊息發佈為止。每個週期會發佈兩則訊息,直到設定的週期數完成為止。
-
-
-
搭配 FreeRTOS 使用 CMake
您也可以使用 CMake 來建置和執行示範應用程式。若要設定 CMake 和原生建置系統,請參閱 先決條件。
-
使用下列命令來產生建置檔案。使用
-DBOARD選項指定目標電路板。cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -Sfreertos-Bbuild_dir如果您使用的是 Windows,則必須使用
-G選項指定原生建置系統,因為 CMake 預設會使用 Visual Studio。範例
cmake -DVENDOR=cypress -DBOARD=CY8CKIT_064S0S2_4343W -DCOMPILER=arm-gcc -Sfreertos-Bbuild_dir-G Ninja即使
arm-none-eabi-gcc不在您的 shell 路徑中,您也需要設定AFR_TOOLCHAIN_PATHCMake 變數。範例
-DAFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin -
使用下列命令,使用 CMake 建置專案。
cmake --buildbuild_dir -
最後,使用 Cypress Programmer
編寫在 下產生的build_dircm0.hex和cm4.hex檔案。
-
執行其他示範
下列示範應用程式已經過測試和驗證,可與目前版本搭配使用。您可以在 目錄下找到這些示範。如需如何執行這些示範的資訊,請參閱 FreeRTOS 示範。freertos/demos
-
低功耗藍牙示範
-
Over-the-Air更新示範
-
Secure Sockets Echo 用戶端示範
-
AWS IoT 裝置影子示範
除錯
套件上的 KitProg3 支援透過 SWD 通訊協定進行偵錯。
-
若要偵錯 FreeRTOS 應用程式,請在工作區中選取 aws_demos 專案,然後從快速面板中選取 aws_demos Debug (KitProg3)。
OTA 更新
PSoC 64 MCUs 已通過所有必要的 FreeRTOS 資格測試。不過,在 PSoC 64 標準安全 AWS 韌體程式庫中實作的選用over-the-air(OTA) 功能仍在等待評估。實作的 OTA 功能目前會通過所有 OTA 資格測試,但 aws_ota_test_case_rollback_if_unable_to_connect_after_update.py
當成功驗證的 OTA 映像使用 PSoC64 標準安全 – AWS MCU 套用至裝置,且裝置無法與之通訊時 AWS IoT Core,裝置就無法自動轉返至原始已知的良好映像。這可能會導致無法從 連線裝置 AWS IoT Core 以進行進一步更新。Cypress 團隊仍在開發此功能。
如需詳細資訊,請參閱 的 OTA 更新 AWS 和 CY8CKIT-064S0S2-4343W 套件