FreeRTOS 使用者指南 FreeRTOS 使用者指南 FreeRTOS: 使用者指南 Copyright © 2022 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon 的商標和商業外觀不得用於任何非 Amazon 的產品或服務,也不能以任何可能造成客戶混淆、任何貶低或使 Amazon 名譽受損的方式使用 Amazon 的商標和商業外觀。所有其他非 Amazon 擁有的商標均為其各自擁有者的財產, 這些擁有者可能隸屬於 Amazon,或與 Amazon 有合作關係,亦或受到 Amazon 贊助。 FreeRTOS 使用者指南 Table of Contents 什麼是 FreeRTOS?............................................................................................................................ 1 正在下載 FreeRTOS 原始程式碼................................................................................................... 1 FreeRTOS 版本控制.................................................................................................................... 1 FreeRTOS 長期 Support............................................................................................................. 1 FreeRTOS 維護計劃.................................................................................................................... 1 FreeRTOS 架構.......................................................................................................................... 2 符合免費使用者資格的硬體平台 ..................................................................................................... 2 開發工作流程............................................................................................................................. 3 其他資源 .................................................................................................................................... 3 FreeRTOS 核心基礎............................................................................................................................ 4 FreeRTOS 核心排程器................................................................................................................ 4 記憶體管理................................................................................................................................ 4 核心記憶體配置.................................................................................................................. 4 應用程式記憶體管理 ............................................................................................................ 5 任務間協調................................................................................................................................ 5 佇列 .................................................................................................................................. 5 旗號與 Mutex..................................................................................................................... 5 直達任務通知..................................................................................................................... 6 串流緩衝區........................................................................................................................ 6 訊息緩衝區........................................................................................................................ 7 對稱式多工處理 (SMP) 支持......................................................................................................... 8 修改應用程序以使用自由託 SMP 內核 .................................................................................... 8 軟體計時器................................................................................................................................ 8 低電力支援................................................................................................................................ 8 FreeRTOSConfig.h .................................................................................................................. 8 FreeRTOS 主控台............................................................................................................................. 10 預先定義 FreeRTOS 組態........................................................................................................... 10 FreeRTOS 組態........................................................................................................................ 10 快速連線工作流程...................................................................................................................... 11 標記組態 .................................................................................................................................. 11 適用於 Embedded C 的 AWS IoT 裝置 SDK ......................................................................................... 12 開始使用 FreeRTOS 延伸維護計劃 (EMP)............................................................................................. 13 設定AWS帳戶以及許可............................................................................................................... 13 建立 IAM 使用者並授予許可................................................................................................ 13 在中建立 FreeRTOS EMP 訂閱AWS IoT安慰................................................................................ 14 管理 FreeRTOS EMP 訂閱......................................................................................................... 16 FreeRTOS 入門................................................................................................................................ 17 FreeRTOS 應用程式.................................................................................................................. 17 首要步驟 .................................................................................................................................. 17 設定AWS帳戶和許可.......................................................................................................... 18 向 AWS IoT 註冊您的 MCU 電路板 ...................................................................................... 18 下載 FreeRTOS................................................................................................................ 20 設定 FreeRTOS 範............................................................................................................ 21 快速 Connect 的第一步.............................................................................................................. 22 設定您的AWS帳户和許可.................................................................................................... 23 下載並配置 FreeRTOS,並註冊您的 MCU 板AWS IoT............................................................ 23 疑難排解 .................................................................................................................................. 24 一般入門故障診斷提示....................................................................................................... 24 安裝終端機模擬器 .............................................................................................................. 24 搭配 CMake 使 FreeRTOS......................................................................................................... 25 先決條件 .......................................................................................................................... 25 使用第三方的程式碼編輯器和除錯工具來開發 FreeRTOS 應用程式............................................ 26 搭配 CMake 建置 FreeRTOS 選 .......................................................................................... 26 開發人員模式金鑰佈建............................................................................................................... 31 iii FreeRTOS 使用者指南 簡介 ................................................................................................................................ 31 選項 #1:從 AWS IoT 匯入私有金鑰 .................................................................................... 31 選項 #2:產生內建私有金鑰................................................................................................ 31 主機板特定的入門指南............................................................................................................... 33 Cypress CYW943907AEVAL1F 開發套件.............................................................................. 33 Cypress CYW954907AEVAL1F 開發套件.............................................................................. 37 柏樹 CY8CKIT-064S0S2-4343W.......................................................................................... 40 Microchip ATECC608A 安全元素與 Windows 模擬器.............................................................. 44 開始使用義式濃縮咖啡 ESP32-DevKitC 和歐洲環保工具組....................................................... 48 開始使用意式濃縮咖啡 ESP32-WROOM-32SE....................................................................... 64 開始使用濃縮咖啡 ESP32-S2.............................................................................................. 69 Infineon XMC4800 IoT 連線套件......................................................................................... 76 Infineon OPTIGA Trust X 和 XMC4800 IoT Connectivity Kit..................................................... 80 奇維爾 MW32XAWS IoT入門套件........................................................................................ 84 MediaTek 開發套件........................................................................................................... 99 Microchip Curiosity PIC32MZ EF....................................................................................... 103 Nordic nRF52840-DK....................................................................................................... 107 新唐NuMaker-IoT-M487.................................................................................................... 110 NXP LPC54018 IoT 模組.................................................................................................. 117 Renesas Starter Kit+ for RX65N-2MB................................................................................. 120 IoT 節點用的 STMicroelectronics STM32L4 探索套件............................................................ 123 Texas Instruments CC3220SF-LAUNCHXL......................................................................... 125 Windows 裝置模擬器....................................................................................................... 128 錫林安凡MicroZed產業 IoT 套件........................................................................................ 131 FreeRTOS 的後續步驟............................................................................................................. 136 無線更新........................................................................................................................................ 137 標記 OTA 資源 ....................................................................................................................... 137 OTA 更新先決條件.................................................................................................................. 137 建立 Amazon S3 儲存貯體來儲存貯體來儲存更新................................................................. 138 建立 OTA 更新服務角色................................................................................................... 138 建立 OTA 使用者政策...................................................................................................... 140 建立程式碼簽署憑證 ......................................................................................................... 141 將存取權限授予適用於 AWS IoT 的程式碼簽署..................................................................... 146 使用 OTA 圖書館下載 FreeRTOS 務 .................................................................................. 147 使用 MQTT 進行 OTA 更新的先決條件............................................................................... 147 使用 HTTP 進行 OTA 更新的先決條件................................................................................ 149 OTA 教學............................................................................................................................... 151 安裝初始韌體.................................................................................................................. 152 更新您的韌體版本 ............................................................................................................ 157 建立 OTA 更新 (AWS IoT 主控台) ...................................................................................... 158 使用 AWS CLI 建立 OTA 更新.......................................................................................... 160 OTA Update Manager 服務...................................................................................................... 175 將 OTA 代理程式整合到您的應用程式......................................................................................... 176 連線管理 ........................................................................................................................ 176 簡易 OTA 演示............................................................................................................... 176 對 OTA 代理程式事件使用應用程式回呼.............................................................................. 178 OTA 安全性............................................................................................................................ 179 適用於 AWS IoT 的程式碼簽署.......................................................................................... 180 OTA 故障診斷......................................................................................................................... 180 設置 OTA 更新的 CloudWatch 日誌................................................................................... 180 使用 AWS CloudTrail 記錄 AWS IoT OTA API 呼叫.............................................................. 184 取得 CreateOTAUpdate 失敗詳細資料,使用AWS CLI.......................................................... 186 使用 AWS CLI 取得 OTA 失敗代碼.................................................................................... 187 故障診斷多個裝置的 OTA 更新.......................................................................................... 188 故障診斷 Texas Instruments CC3220SF Launchpad 的 OTA 更新........................................... 188 FreeRTOS 程式庫........................................................................................................................... 189 FreeRTOS 移植程式庫............................................................................................................. 189 iv FreeRTOS 使用者指南 FreeRTOS 應用程式庫............................................................................................................. 190 設定 FreeRTOS 程式庫............................................................................................................ 191 回退算法 ................................................................................................................................ 191 簡介 .............................................................................................................................. 191 低功耗藍牙............................................................................................................................. 192 概要 .............................................................................................................................. 192 架構 .............................................................................................................................. 192 相依性和要求.................................................................................................................. 193 程式庫組態檔案............................................................................................................... 194 最佳化........................................................................................................................... 194 使用限制 ........................................................................................................................ 195 初始化........................................................................................................................... 195 API 參考........................................................................................................................ 196 範例使用方式.................................................................................................................. 196 移植 .............................................................................................................................. 199 適用於 FreeRTOS 藍牙裝置的行動 SDK............................................................................. 201 附錄 A:MQTT 透過 BLE 關貿總協定檔.............................................................................. 202 蜂窩界面 ................................................................................................................................ 205 簡介 .............................................................................................................................. 205 相依性和要求.................................................................................................................. 205 移植 .............................................................................................................................. 205 記憶體使用..................................................................................................................... 205 入門 .............................................................................................................................. 206 將行動網路介面程式庫與 MCU 平台整合............................................................................. 206 通用 I/O................................................................................................................................. 206 AWS IoT Device Defender....................................................................................................... 207 簡介 .............................................................................................................................. 207 AWS IoT Greengrass............................................................................................................... 208 概觀 .............................................................................................................................. 208 相依性和要求.................................................................................................................. 208 API 參考........................................................................................................................ 208 範例使用方式.................................................................................................................. 209 核心 HTTP............................................................................................................................. 209 簡介 .............................................................................................................................. 210 科雷森................................................................................................................................... 210 簡介 .............................................................................................................................. 210 Memory......................................................................................................................... 210 中央车队 ................................................................................................................................ 211 簡介 .............................................................................................................................. 211 核心程式 ................................................................................................................................ 211 簡介 .............................................................................................................................. 211 在空中 (OTA).......................................................................................................................... 212 簡介 .............................................................................................................................. 212 功能 .............................................................................................................................. 213 API 參考........................................................................................................................ 214 範例使用方式.................................................................................................................. 214 移植 .............................................................................................................................. 215 記憶體使用..................................................................................................................... 215 海洋公園 11........................................................................................................................... 215 概要 .............................................................................................................................. 215 功能 .............................................................................................................................. 216 非對稱加密系統支援 ......................................................................................................... 216 移植 .............................................................................................................................. 218 記憶體使用量.................................................................................................................. 218 Secure Sockets....................................................................................................................... 218 概要 .............................................................................................................................. 218 相依性和要求.................................................................................................................. 218 v FreeRTOS 使用者指南 功能 .............................................................................................................................. 219 疑難排解 ........................................................................................................................ 219 開發人員支援.................................................................................................................. 219 使用限制 ........................................................................................................................ 220 初始化........................................................................................................................... 220 API 參考........................................................................................................................ 220 範例使用方式.................................................................................................................. 220 移植 .............................................................................................................................. 222 AWS IoT Device Shadow......................................................................................................... 222 簡介 .............................................................................................................................. 222 AWS IoT 任務........................................................................................................................ 222 簡介 .............................................................................................................................. 222 Transport Layer Security.......................................................................................................... 223 Wi-Fi..................................................................................................................................... 223 概要 .............................................................................................................................. 223 相依性和要求.................................................................................................................. 223 功能 .............................................................................................................................. 223 組態 .............................................................................................................................. 224 初始化........................................................................................................................... 225 API 參考........................................................................................................................ 225 範例使用方式.................................................................................................................. 225 移植 .............................................................................................................................. 227 FreeRTOS 示範.............................................................................................................................. 228 執行 FreeRTOS 示範............................................................................................................... 228 設定示範 ................................................................................................................................ 228 低功耗藍牙............................................................................................................................. 228 概觀 .............................................................................................................................. 228 先決條件 ........................................................................................................................ 229 常見元件 ........................................................................................................................ 231 透過低功耗藍牙執行的 MQTT............................................................................................ 235 Wi-Fi 佈建...................................................................................................................... 236 一般屬性伺服器............................................................................................................... 238 Microchip Curiosity PIC32MZEF 的開機載入器............................................................................. 239 開機載入器狀態............................................................................................................... 240 快閃裝置 ........................................................................................................................ 240 應用程式映像結構 ............................................................................................................ 241 映像標頭 ........................................................................................................................ 241 映像描述項..................................................................................................................... 242 映像尾部 ........................................................................................................................ 243 開機載入器組態............................................................................................................... 243 建置開機載入器............................................................................................................... 244 AWS IoT Device Defender....................................................................................................... 244 簡介 .............................................................................................................................. 244 功能 .............................................................................................................................. 244 AWS IoT Greengrass............................................................................................................... 247 Amazon EC2.................................................................................................................. 249 AWS IoT Greengrass2 版......................................................................................................... 250 AWS IoT Greengrass V2.................................................................................................. 250 核心 HTTP............................................................................................................................. 250 核心 HTTP 交互身份驗證.................................................................................................. 250 上傳核心 HTTP Amazon S3.............................................................................................. 251 核心 HTTP S3 下載......................................................................................................... 253 核心 HTTP 回應多執行..................................................................................................... 255 AWS IoT 任務........................................................................................................................ 257 簡介 .............................................................................................................................. 257 來源碼組織..................................................................................................................... 258 設定AWS IoTMQTT 經紀人連線......................................................................................... 258 vi FreeRTOS 使用者指南 功能 .............................................................................................................................. 258 科雷姆 QTT............................................................................................................................ 259 CremQTT 交互身份驗證................................................................................................... 259 客户端連接共享............................................................................................................... 262 Over-the-air 更新..................................................................................................................... 264 Over-the-air 示範設定....................................................................................................... 267 Texas Instruments CC3220SF-LAUNCHXL......................................................................... 267 Microchip Curiosity PIC32MZEF........................................................................................ 269 Espressif ESP32............................................................................................................. 273 瑞薩電子 RX65N............................................................................................................. 274 教學課程:使用 BLE 對濃縮咖啡 ESP32 的 OTA 更新 ........................................................... 294 AWS IoT Device Shadow......................................................................................................... 301 簡介 .............................................................................................................................. 301 功能 .............................................................................................................................. 301 ConnectAWS IoTMQTT 經紀人......................................................................................... 303 刪除影子文件.................................................................................................................. 303 訂影子主題..................................................................................................................... 303 發送影子更新.................................................................................................................. 303 處理卷影增量郵件和卷影更新消息...................................................................................... 304 Secure Sockets....................................................................................................................... 304 AWS IoT Device TesterFFreeRTOS................................................................................................... 306 FreeRTOS 套房...................................................................................................................... 306 自訂測試套件.......................................................................................................................... 307 FreeRTOS 支援的 IDT 版本...................................................................................................... 307 FreeRTOS 的最新版本..................................................................................................... 307 舊版 IDT........................................................................................................................ 308 不支援的 IDT 版本................................................................................................................... 308 下載 FreeRTOS 的 IDT............................................................................................................ 314 手動下載 IDT.................................................................................................................. 315 以程式碼方式下載 IDT...................................................................................................... 315 使用 IDT 搭配 FreeRTOS 資格套件 2.0 (FRQ 2.0)........................................................................ 319 先決條件 ........................................................................................................................ 319 首次準備測試微型控制器主機板 ......................................................................................... 325 執行 FreeRTOS 資格 2.0 套件.......................................................................................... 334 了解結果和日誌............................................................................................................... 336 將 IDT 與 FreeRTOS 資格套件 1.0 搭配使用 (FRQ 1.0)................................................................. 339 先決條件 ........................................................................................................................ 340 首次準備測試微型控制器主機板 ......................................................................................... 343 使用 IDT 使用者介面來執行 FreeRTOS 資格套件................................................................. 354 執行低功耗藍牙測試 ......................................................................................................... 361 執行 FreeRTOS 資格套件................................................................................................. 364 了解結果和日誌............................................................................................................... 368 使用 IDT 開發和運行自己的測試套件 .......................................................................................... 371 下載最新版的 IDT 免 FreeRTOS........................................................................................ 371 測試套件建立工作流程...................................................................................................... 371 教學課程:建置並執行範例 IDT 測試套件............................................................................ 372 教學課程:開發簡單的 IDT 測試套件.................................................................................. 375 測試套件版本.......................................................................................................................... 428 疑難排解 ................................................................................................................................ 429 故障診斷裝置組態 ............................................................................................................ 430 故障診斷逾時錯誤 ............................................................................................................ 436 蜂窩網絡功能和AWS收費.................................................................................................. 436 資格報告生成策略 ............................................................................................................ 436 支援政策 ................................................................................................................................ 436 AWS 中的安全性............................................................................................................................. 438 Identity and Access Management.............................................................................................. 438 對象 .............................................................................................................................. 438 vii FreeRTOS 使用者指南 使用身分來驗證............................................................................................................... 439 使用政策管理存取權 ......................................................................................................... 440 進一步了解..................................................................................................................... 441 服務與 IAM 搭配AWS服務運作的方式................................................................................. 441 身分型政策範例............................................................................................................... 443 疑難排解 ........................................................................................................................ 445 合規驗證 ................................................................................................................................ 447 恢復能力 ................................................................................................................................ 448 基礎設施安全性 ....................................................................................................................... 448 存檔 .............................................................................................................................................. 449 ...................................................................................................................................................... cdl viii FreeRTOS 使用者指南 正在下載 FreeRTOS 原始程式碼 什麼是 FreeRTOS? FreeRTOS 是與全球領先晶片公司合作開發的 15 年期間,現在每 170 秒下載一次,是市場領先的微控制器 和小型微處理器即時作業系統 (RTOS)。FreeRTOS 在 MIT 開放原始碼授權下自由發佈,包含一個核心和一 組不斷增長的程式庫,適合所有產業領域使用。FreeRTOS 的構建重點是可靠性和易用性。 FreeRTOS 包含用於連線、安全性和 over-the-air (OTA) 更新的程式庫。FreeRTOS 也包含示範應用程式, 可在合格的主機板上顯示 FreeRTOS 功能。 FreeRTOS 是開放原始碼專案。您可以在 https://github.com/FreeRTOS/FreeRTOS 上下載源代碼,進行更 改或增強功能,或在 GitHub 網站上報告問題。 我們根據 MIT 開放原始碼授權發行 FreeRTOS 程式碼,因此您可以在商業和個人專案中使用它。 我們也歡迎您對 FreeRTOS 文件的貢獻 (FreeRTOS 使用者指南、FreeRTOS 移植指南和 FreeRTOS 資格 指南)。若要檢視文件的降價來源,請參閱 https://github.com/awsdocs/aws-freertos-docs。它是根據創用 CC(CC BY-ND)許可證發布的。 正在下載 FreeRTOS 原始程式碼 從 freer tos.org 的下載頁面下載最新的 Free RTOS 和長期 Support (LTS) 套件。 FreeRTOS 版本控制 單個庫使用 x.y.z 樣式的版本號,類似於語義版本。x 是主要版本號,y 是次要版本號,從 2022 開始,z 是 補丁號。在 2022 年之前,z 是一個點發布號,這需要第一個 LTS 庫具有形式 「x.y.z LTS 補丁 2」的補 丁號。 圖書館套件使用 yyyymm.x 樣式的日期戳版本號。yyyy 是年份,mm 是月份,x 是顯示月份內發行順序的可 選序號。就 LTS 套件而言,x 是該 LTS 發行版本的連續修補程式編號。套件中包含的個別程式庫是該程式庫 在該日期的最新版本。對於 LTS 軟件包,它是最初作為 LTS 版本在該日期發布的 LTS 庫的最新補丁版本。 FreeRTOS 長期 Support FreeRTOS 長期 Support (LTS) 發行版本會在發行後至少兩年內收到安全性和重要錯誤修正 (應該是必要 的)。透過這項持續的維護,您可以在整個開發和部署週期中整合錯誤修正,而不會因為更新到 FreeRTOS 程式庫的新主要版本而造成昂貴的中斷。 使用 FreeRTOS LTS,您可以獲得構建安全連接 IoT 和嵌入式產品所需的完整庫集。LTS 有助於降低與更新 已在生產中的設備上的庫相關的維護和測試成本。 FreeRTOS LTS 包括 FreeRTOS 核心和 IoT 程式庫:自由傳輸 + TCP、核心 QTT、核心 HTTP、CorekCS11、Corejson、AWS IoT OTAAWS IoT Device Defender、AWS IoT工作和AWS IoT Device Shadow。如需詳細資訊,請參閱 FreeRTOS LTS 程式庫。 FreeRTOS 維護計劃 AWS此外還提供 FreeRTOS 延伸維護計畫 (EMP),可在您選擇的 FreeRTOS 長期 Support (LTS) 版本上提 供安全性修補程式和重大錯誤修正,最長可延長 10 年。使用 FreeRTOS EMP,您以 FreeRTOS 為基礎的長 1 FreeRTOS 使用者指南 FreeRTOS 架構 壽裝置可以仰賴具有功能穩定性並接收多年安全性更新的版本。您會及時收到 FreeRTOS 程式庫上即將進行 修補程式的通知,因此您可以規劃在物聯網 (IoT) 裝置上部署安全性修補程式。 若要進一步了解 FreeRTOS EMP,請參閱功能頁面。若要開始使用,請參閱開始使用 FreeRTOS 延伸維護 計劃 (EMP) (p. 13) FreeRTOS 架構 FreeRTOS 包含兩種類型的存放庫,單一程式庫存放庫和套件存放庫。每個庫存儲庫都包含一個庫的源代 碼,沒有任何構建項目或示例。Package 儲存庫包含多個程式庫,並且可以包含展示程式庫使用情況的預先 設定專案。 雖然套件儲存庫包含多個程式庫,但它們不包含這些程式庫的複本。相反,包存儲庫將它們包含的庫引用為 git 子模塊。使用子模塊可確保每個單獨的庫都有一個真實來源。 個別程式庫 git 儲存庫會在兩個 GitHub 組織之間分割。包含 FreeRTOS 特定程式庫 (例如 FreeRTOS 的 +TCP) 或一般程式庫 (例如 CoremQTT,這是雲端不可知的,因為它適用於任何 MQTT 代理程式) 的儲存庫 位於 FreeRTOS GitHub 組織中。包含AWS IoT特定程式庫 (例如AWS IoT over-the-air 更新用戶端) 的儲存 庫位於AWS GitHub組織中。下圖說明了結構。 符合免費使用者資格的硬體平台 下列硬體平台符合 FreeRTOS 的資格: • ATECC608A 零接觸佈建套件,適用於AWS IoT • Cypress CYW943907AEVAL1F 開發套件 • Cypress CYW954907AEVAL1F 開發套件 • 柏木 CY8CKIT-064S0S2-4343W 套裝 • 濃縮咖啡 ESP32-DevKit C 型 • Espressif ESP-WROVER-KIT • 義式濃縮咖啡 ESP-WROOM-32SE • 意式濃縮咖啡 ESP32-S2-索拉 -1 • 英飛凌 XMC4800 IoT 連接套件 • Marvell MW320 AWS IoT 入門套件 2
Description: