本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 Programming Solutions 網頁下載並安裝 Cypress Programmer
設定您的硬體
請依照下列步驟來設定套件的硬體。
-
佈建您的套件
請遵循 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 Cloud 的訊息。若要使用 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) 上發佈訊息,並訂閱所有這些主題以接收相同的訊息。收到訊息時,示範會在主題 上發佈確認訊息n
iotdemo/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 -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
-
低功耗藍牙示範
-
Over-the-Air更新示範
-
Secure Sockets Echo 用戶端示範
-
AWS IoT 裝置影子示範
除錯
套件上的 KitProg3 支援透過 SWD 通訊協定進行偵錯。
-
若要偵錯 FreeRTOS 應用程式,請在工作區中選取 aws_demos 專案,然後從 Quick Panel 中選取 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 套件