FreeRTOS

問:FreeRTOS 是什麼?

FreeRTOS 是一種適用於微型控制器的開放原始碼即時作業系統,可讓小型、低功率的邊緣裝置易於進行程式設計、部署、保護、連接及管理。FreeRTOS 自由分散於 MIT 開放原始碼授權下,包含一顆核心和一套不斷擴充的軟體程式庫,適用於各種產業和應用程式。AWS 提供具加強功能的軟體程式庫,包括連線能力、安全性和無線更新,以支援持續增長的使用案例。舉例來說,您可以使用 FreeRTOS 將您的小型、低功耗裝置連接至 AWS 雲端服務,例如 AWS IoT Core 或功能更加強大的邊緣裝置,來執行 AWS IoT Greengrass

問:Amazon FreeRTOS 和 FreeRTOS 的關係為何?

自 2017 年起,Amazon FreeRTOS 便成為 FreeRTOS 專案的擴充功能,因此我們統一了兩者的名稱,以免客戶混淆。FreeRTOS 專案現包括額外連線功能程式庫、安全程式庫,以及 IoT 參考整合。

問:FreeRTOS 可以在哪些 AWS 區域使用?

請參閱 AWS 區域表,以取得可用 FreeRTOS 的區域完整清單。 無論您的地理位置和 AWS 區域可用性為何,都可以從 GitHub 下載 FreeRTOS 程式碼。

問:FreeRTOS 有哪些使用案例?

FreeRTOS 可用於橫跨工業、商業和消費者應用程式的內嵌系統中。例如,智慧型電錶、抽油幫浦感應器、家電、商業安全系統、健身追蹤器和感應器網路,均受惠於 FreeRTOS。智慧型電錶可在家中使用以即時監控用電量。健身追蹤器會將健康資料透過使用者的行動裝置傳送至雲端,以進行即時監控或分析。公用事業可透過此資料,從發電站提供更有效率的負載平衡和功率輸出。抽油幫浦感應器應用在石油鑽井機,可監控深埋在海底的油井輸出。石油鑽井機可能會在這些感應器上部署 FreeRTOS,並使用 AWS IoT Greengrass Core 在本機即時處理來自幫浦和油閥的資料。接著,AWS IoT Greengrass Core 可將多批預先處理的幫浦感應器資料傳送到雲端執行分析和資料倉儲。若要進一步了解 AWS IoT Greengrass,請按一下這裡

問:微型控制器開發人員如何取得 FreeRTOS?

FreeRTOS 開發人員可以從 FreeRTOS 主控台GitHubFreeRTOS.org 下載 FreeRTOS 微型控制器裝置軟體。

問:哪些人可受惠於 FreeRTOS?

製造微型控制器和連線感應器、安全週邊裝置及乙太網路控制器等模組的半導體廠商。OEM 會使用這些微型控制器和模組建立 IoT 裝置。

OEM 包含工業公司、商業企業及消費者品牌。微型控制器開發人員可利用 FreeRTOS 輕鬆地設計和開發連線裝置和 IoT 應用程式。

企業可使用採用 FreeRTOS 技術的 IoT 連線裝置來獲得商業和營運效益。

問:FreeRTOS 軟體有哪些主要元件?

FreeRTOS 包括 FreeRTOS 核心,該核心是微型控制器的即時作業系統核心,以及支援連線、安全和無線更新的程式庫。連線堆疊包含支援雲端和本機連線的 MQTT、HTTP、TCP/IP、Wi-Fi 及低功耗藍牙。安全程式庫包含適用於 TLS 的標準柏克萊通訊端界面,和適用於加密卸載的 PKCS#11 標準界面。

  • FreeRTOS 核心:MIT 授權的即時作業系統 (RTOS) 核心,適用於內嵌微型控制器裝置。
  • MQTT:您可用來建立發佈和訂閱 MQTT 主題以及連接到 MQTT 訊息代理應用程式的 MQTT 用戶端程式庫。
  • HTTP 程式庫:您可以使用 HTTP 用戶端程式庫來建立使用 REST API 的應用程式,藉此連接至 HTTP 伺服器。
  • Wi-Fi 管理程式庫:抽象化連接埠特定 Wi-Fi 實作和簡化應用程式開發的常見 API 層。
  • 藍牙低功耗管理程式庫:讓您能夠使用一般存取設定檔 (GAP) 和一般屬性 (GATT) 設定檔建立藍牙低功耗應用程式的標準 API 層。
  • Device Defender 程式庫:允許您的 FreeRTOS 裝置與 AWS IoT Device Defender 搭配使用。在這裡進一步了解 Device Defender。
  • Device Shadows 程式庫:定義可建立、更新和刪除 AWS IoT Device Shadows 的各項功能。在這裡進一步了解 Device Shadows。
  • OTA 代理程式:讓您能夠管理 FreeRTOS 裝置的韌體更新通知、下載和驗證。
  • Greengrass 探索:可協助 FreeRTOS 裝置探索和連接到 AWS IoT Greengrass Core 的程式庫。
  • TLS:Transport Layer Security (TLS) 界面是選擇性的包裝函式,用於抽象化基礎 TLS 堆疊的加密實作詳細資訊。
  • PKCS#11:可抽象化金鑰儲存、針對加密物件和工作階段語意取得/設定屬性的加密 API 層 (OASIS 標準)。

問:需要什麼樣的最低硬體規格?

若您要在應用程式微型控制器上執行 TLS 等所有 FreeRTOS 程式庫,您可能需要處理速度 >25MHz,且 RAM >64KB 的微型控制器。如果將通訊和加密堆疊 (MQTT 除外) 卸載到聯網處理器,您的微型控制器將只需要 10 MHz 的處理速度和 16 KB RAM。但這些只是近似值,因為像 MCU 架構、編譯器和編譯器優化層級等因素,都可能影響處理速度和 RAM 需求。FreeRTOS 對於每張儲存於微型控制器上的可執行影像需要 128KB 的程式記憶體。針對 OTA 更新功能,兩個可執行影像必須同時儲存在程式記憶體中。

問:FreeRTOS 支援哪些架構?

FreeRTOS 提供 IoT 參考整合給 AWS Partner Device Catalog 中來自我們合作夥伴的各種微型控制器。FreeRTOS 包括 FreeRTOS 核心,支援超過 40 個架構,包括 RISC-V 和 ARMv8-M 的最新架構。

問:如何開始使用 FreeRTOS?

您可參考入門指南,了解如何在合格的主機板上執行 FreeRTOS 的系統指示。

問:如何取得技術支援?

請透過下列任一管道取得支援:

FreeRTOS 社群論壇

付費支援

AWS Support

GitHub 問題

問:AWS 論壇上的 Amazon FreeRTOS 群組發生了什麼事?

為提供客戶更優質的論壇體驗,我們已將 AWS 論壇 Amazon FreeRTOS 群組的所有內容和使用者移轉至 FreeRTOS 社群論壇的 Amazon Web Services 類別。在這裡進一步了解。

問:是否有使用者指南?

是。您可以使用 FreeRTOS 使用者指南,開始將 FreeRTOS 裝置連線至 AWS。

問:是否可以使用 FreeRTOS 連線至其他雲端服務?

是。FreeRTOS 是開放原始碼軟體,可依您應用程式的任何特定需求修改。

問:是否可以為我的專案變更 FreeRTOS 原始程式碼?

是。FreeRTOS 是根據 MIT 授權散佈的開放原始碼軟體,因此可依您應用程式或專案的任何特定需求修改,不需經過 AWS 許可。

問:使用 FreeRTOS 需支付多少費用?

FreeRTOS 可根據開放原始碼 MIT 授權免費下載和使用。

問:如何在不購買硬體的情況下探索 FreeRTOS?

您可透過下載移轉到 Windows 上執行的程式庫和範例,在 Windows 電腦上探索 FreeRTOS 程式碼和功能。這是一組檔案,稱為適用於 Windows 的 FreeRTOS 模擬器 (Windows 模擬器)。從這裡開始。

問:FreeRTOS 是否包含硬體?

否。FreeRTOS 是適用於微型控制器的開放程式碼即時作業系統。您可以移植 FreeRTOS 程式碼,並透過 AWS IoT Device Tester 驗證移轉程式碼,以在所選微型控制器上執行 FreeRTOS。為了讓您使用更輕鬆,我們在 AWS Partner Device Catalog 中提供了 IoT 參考整合及常見微型控制器的合格連接埠。

問:如何了解 FreeRTOS 版本控制?

FreeRTOS 核心與各個別程式庫均使用語意版本控制。在語意版本控制中,版本編號本身 (X.Y.Z) 表示該版本為主要、次要或小版本更新。第一個版本號碼的增量表示主要版本,第二個版本號碼的增量表示次要版本,而第三個號碼的增量表示小數點版本。

針對包含整組 FreeRTOS 程式庫的 FreeRTOS IoT 參考整合版本而言,使用的是以日期為基礎的版本控制。此外,包含 FreeRTOS 核心的下載和其他程式庫均使用以日期為基礎的版本控制。這種以日期為基礎的版本控制依照標準版本 YYYYMM.NN 格式,其中 Y 代表年、M 代表月,而 N 代表指定月份中的版本順序 (00 是指定月份中的第一個版本)。‘Major’ 名稱表示多個程式庫增加新功能和/或重大更新。例如,‘201906.00 Major’ 表示這是 2019 年 6 月第一個版本,包含新功能和/或重大更新。透過將語意版本控制往下移至個別的程式庫,您可自行評定新版本在您應用程式的範圍和影響。

FreeRTOS 核心

問:什麼是 FreeRTOS 核心?

開發期超過 15 年,並與領先全球的晶片公司合作,FreeRTOS 核心是市場上首屈一指的即時作業系統核心,也是微型控制器和小型微型處理器的現存標準解決方案。

問:AWS 是否負責 FreeRTOS 核心的維護?

是。最新的 FreeRTOS 核心 v10 更新支援 RISC-V 和 Armv8-M (Cortex-M33 和 Cortex-M23)。

問:MIT 開放原始碼授權和 (先前使用) 經修改的 GPL 開放原始碼授權有什麼不同?

兩種授權均允許免費使用軟體 (甚至應用在商業產品),兩種授權對於散發二進位 (可執行檔) 副本均未規定任何義務。MIT 授權提供簡化的語法,因此可以更自由地使用我們的原始程式碼。使用 MIT 授權,您仍然可以使用 FreeRTOS (包括核心) 開發和銷售商業產品,但是不再需要對我們的原始程式碼進行開放原始碼修改,這意味著您做的所有變更專屬於您。MIT 授權的唯一要求,是「軟體」(原始檔案) 的所有副本或重要部分應包含版權聲明和許可聲明。

FreeRTOS 社群

問:我是否可向 FreeRTOS 提供程式碼?

是,您可以透過 GitHub 向 FreeRTOS 提供程式碼。如需指導方針,請參考 GitHub 中的 Contributions.md 檔案。

適用於 FreeRTOS 的 AWS IoT Device Tester

問:適用於 FreeRTOS 的 AWS IoT Device Tester 是什麼?

適用於 FreeRTOS 的 AWS IoT Device Tester 是 Windows/Linux/Mac 測試自動工具,可讓半導體廠商在其微型控制器主機板上自行測試和培訓 FreeRTOS。使用 AWS IoT Device Tester,半導體廠商可以確認其微型控制器主機板是否可以執行 FreeRTOS,以及是否可透過 AWS IoT 服務進行驗證,並與其相互運作。

問:可在何處取得適用於 FreeRTOS 的 AWS IoT Device Tester?

您可以在這裡取得適用於 FreeRTOS 的 AWS IoT Device Tester。

問:若要在 AWS Partner Device Catalog 中取得資格並列入其中,是否需要適用於 FreeRTOS 的 AWS IoT Device Tester?

是,您可以在這裡,進一步了解如何列入其中。

問:適用於 FreeRTOS 的 AWS IoT Device Tester 測試什麼?

適用於 FreeRTOS 的 AWS IoT Device Tester 會測試具微型控制器主機版移植層界面的 FreeRTOS IoT 參考整合與基礎裝置驅動程式的組合是否可與 AWS IoT 服務相容,並與其相互運作。AWS IoT Device Tester 會確認 FreeRTOS 程式庫的移植層界面 (由半導體廠商實作) 是否能在裝置驅動程式上正常運作。此外,AWS IoT Device Tester 會執行端對端測試,以確認微型控制器主機版可以驗證並與 AWS IoT 服務相互運作。

問:如何取得適用於 FreeRTOS 的 AWS IoT Device Tester 的技術支援?

請透過下列任一管道取得支援:

付費支援

客戶支援

GitHub 問題

問:如何將我的微型控制器型硬體平台列示在 AWS Partner Device Catalog 中?

AWS Device 資格授予計劃定義將您的微型控制器列示在 AWS Partner Device Catalog 上的程序。高階概觀如下:首先,您必須通過適用於 AWS FreeRTOS 的 AWS IoT Device Tester 測試。接著,登入 AWS 合作夥伴網路入口網站,並上傳適用於 FreeRTOS 的 AWS IoT Device Tester 報告。將原始碼的參考提供給移植的 FreeRTOS 界面,以讓它可供 OEM 使用。一旦 AWS 驗證了移植的程式碼和報告,而且已提交其他裝置的相關成品 (例如裝置映像、資料表等),裝置就會列在 AWS Partner Device Catalog 中。

問:哪些區域提供適用於 FreeRTOS 的 AWS IoT Device Tester?

所有支援 FreeRTOS 的區域都會提供適用於 FreeRTOS 的 AWS IoT Device Tester。 

問:適用於 FreeRTOS 的 AWS IoT Device Tester 多少錢?

適用於 FreeRTOS 的 AWS IoT Device Tester 免費使用。不過,您將負責在進行資格測試時與 AWS 用量相關聯的任何成本。平均來說,執行一次 AWS IoT Device Tester 花費不到一分錢。如需相關成本的資訊,請參閱 AWS IoT Core 定價

FreeRTOS 和 AWS IoT Greengrass

問:AWS IoT Greengrass 與 FreeRTOS 之間的差異為何?

AWS IoT Greengrass 是一種軟體,可讓您以安全的方式在連線裝置執行本機運算、簡訊、資料快取、同步和 ML 推論功能。使用 AWS IoT Greengrass 時,連線裝置可執行 AWS Lambda 函數、讓裝置資料保持同步,即使沒有連接到網際網路也可以與其他裝置安全的通訊。使用 AWS Lambda,AWS IoT Greengrass 可確保您的 IoT 裝置能夠快速回應本機事件、使用在 AWS IoT Greengrass Core 上執行的 Lambda 函數與本機資源互動、透過不穩定的連線進行操作、透過無線更新保持最新狀態,以及最小化 IoT 資料傳輸到雲端的成本。

FreeRTOS 是適用在邊緣上操作之微型控制器的開放原始碼即時作業系統,通常不支援可執行 AWS IoT Greengrass 的晶片組。這些微型控制器裝置廣泛運用在各種 IoT 端點,例如運動追蹤器、心律調節器、電錶、汽車傳動系統以及感應器網路。FreeRTOS 裝置無法執行 AWS IoT Greengrass Core,但是可以在 AWS IoT Greengrass Core 上觸發 Lambda 函數的執行。

兩種裝置上的硬體需求和作業系統並不相同。

  FreeRTOS AWS IoT Greengrass
軟體 使用程式庫的即時作業系統,在微型控制器上執行 Linux 裝置的執行時間和 AWS IoT Greengrass 感知裝置的 SDK
硬體需求 >64KB RAM >128MB 的 RAM
類別 嵌入系統、IoT 端點 邊緣裝置、本機閘道
使用案例 以微型控制器為基礎的裝置 工業自動化系統、無線路由器、智慧型手機

問:FreeRTOS 是否需要使用 AWS IoT Greengrass?

FreeRTOS 不需要使用 AWS IoT Greengrass。FreeRTOS 在 IoT 端點上執行,在 IoT 拓撲中通常負責「感應」和「行動」。FreeRTOS 裝置可直接連接到雲端,或連接到 AWS IoT Greengrass Core 裝置本機。

問:如何將 FreeRTOS 裝置連線到 AWS IoT Greengrass Core 裝置?

FreeRTOS 原始程式碼中內含 AWS IoT Greengrass 探索程式庫,可讓您尋找並連線到 AWS IoT Greengrass Core 裝置。如需詳細資訊,請參閱 FreeRTOS 使用者指南

FreeRTOS 和藍牙低功耗

問:FreeRTOS 中的藍牙低功耗支援是什麼?

FreeRTOS 中的藍牙低功耗支援提供標準化的 API 層,讓開發人員撰寫可跨 FreeRTOS 合格主機板移植的藍牙低功耗應用程式。它包括配套的 Android 和 iOS SDK,可讓 FreeRTOS 裝置使用 Android 或 iOS 裝置做為代理來使用 AWS IoT 服務。您可以使用標準的一般存取設定檔 (GAP) 和一般屬性 (GATT) 設定檔撰寫藍牙低功耗應用程式,並對透過藍牙低功耗的 MQTT 和透過藍牙低功耗的 Wi-Fi 佈建使用自訂設定檔。您也可以使用其他 AWS IoT 服務和功能,包含 AWS IoT Device Defender、Device Shadows 和 OTA 更新。

問:為什麼應該使用 FreeRTOS 藍牙低功耗?

如果您是需要建立藍牙低功耗應用程式的內嵌開發人員,請透過 Android 或 iOS 代理將您的藍牙低功耗裝置連接至 AWS IoT,或使用 AWS IoT Device Shadows 之類的 AWS IoT 功能,在 FreeRTOS 中使用藍牙低功耗將會有所助益。適用於 FreeRTOS 的標準化藍牙低功耗 API 可讓您針對 FreeRTOS 合格裝置編碼可攜式應用程式。如果您決定使用不同的微型控制器 (例如,用於升級產品),則可以使用現有的藍牙低功耗應用程式碼,做為加入更新功能的基礎。然後,您可以專注於應用程式碼,而且不必擔心下方的連線和安全性程式庫,它們不是區分產品的功能。

問:FreeRTOS 中的藍牙低功耗支援哪些主機板?

請瀏覽我們的入門頁面了解有關支援的硬體的更多資訊。

問:如何尋找我需要的程式庫?

您可以從 FreeRTOS 主控台和 FreeRTOS GitHub 儲存庫下載 FreeRTOS 原始碼,以及從 GitHub 下載配套的 AndroidiOS 軟體開發套件。FreeRTOS 原始碼具有示範範例,而行動軟體開發套件具有範例應用程式可協助您快速開始。

問:FreeRTOS 中的藍牙低功耗支援是否只能與 AWS 搭配使用?

否。藍牙低功耗的 FreeRTOS 程式庫是開放原始碼且根據 MIT 授權,因此開發人員可以根據其特定需求進行修改。

問:支援哪些藍牙低功耗版本?

FreeRTOS 支援藍牙低功耗 4.2 版及更高版本。藍牙低功耗 4.2 版會透過新增藍牙低功耗安全連線的支援來提高安全門檻,而此支援是在藍牙低功耗 4.2 版中引進的加強安全功能,以驗證對等裝置並建立加密通道。

問:Amazon 是否提供藍牙低功耗堆疊?

否。FreeRTOS 提供的是標準化的藍牙低功耗 API 程式庫,可與第三方 (例如,MCU 廠商) 藍牙低功耗堆疊互動。

問:藍牙低功耗的 FreeRTOS 支援會啟用哪些 GATT 服務?

FreeRTOS 中的藍牙低功耗支援可讓開發人員新增任意數目的標準和自訂 GATT 服務,取決於目標硬體的功能。FreeRTOS 包含兩個客戶設定檔:1) 透過藍牙低功耗的 MQTT,用來啟用藍牙低功耗裝置以使用 AWS IoT 服務,以及 2) 透過藍牙低功耗的 Wi-Fi 佈建,用來在 IoT 裝置中使用藍牙低功耗佈建 Wi-Fi 登入資料。

問:藍牙低功耗代理是否能採取本機動作?

目前並沒有可攔截藍牙低功耗裝置和 AWS IoT 間訊息流的機制。藍牙低功耗代理只能作為傳遞裝置。

但您可以使用代理程式庫內提供的方法和類別做為起點,並修改這些程式庫以攔截訊息並採取本機動作。

問:透過藍牙低功耗使用 MQTT 有什麼好處?

透過藍牙低功耗使用 MQTT 可讓藍牙低功耗裝置透過代理裝置連接 AWS IoT,也可讓您使用其他 AWS 服務和功能,包括 AWS IoT Device Defender、AWS IoT Device Shadows 和 FreeRTOS OTA 更新。

問:是否可從相同裝置使用多個連線選項?

是。您可以同時透過 Wi-Fi 使用 MQTT 和透過藍牙低功耗使用 MQTT,只要您的裝置具備所需的記憶體即可。

問:如何向 AWS IoT 驗證我的代理裝置?

AWS IoT 使用 Amazon Cognito 服務向雲端服務驗證行動裝置。但您還可以使用 FreeRTOS 行動 SDK 支援的 X.509 憑證,向 AWS IoT 驗證您的代理裝置。

FreeRTOS 與 AWS IoT Device Management

問:如何使用新韌體更新裝置?

您可使用 FreeRTOS 的無線 (OTA) 更新功能。在 AWS IoT Device Management 主控台中,您只需提供韌體映像、選取要更新的裝置、選取程式碼簽章方法,然後建立 FreeRTOS OTA 任務更新即可。如需 OTA 更新功能和程式碼簽章的詳細資訊,請參閱 FreeRTOS 使用者指南

問:什麼是程式碼簽章?

利用程式碼簽章,開發人員可確認排定要經由 OTA 方式部署到 FreeRTOS 裝置之韌體映像的完整性和來源。此程序可使用加密雜湊來驗證程式碼自簽署以來未曾變更或損毀,藉此確認韌體映像的完整性。此程序還可使用公開金鑰加密,透過裝置上可驗證的來源證明簽署這些映像。使用 AWS IoT Device Management 主控台內的整合式 FreeRTOS OTA 更新裝置任務,開發人員可以上傳新的韌體映像、簽署該映像,並將其提供給現場的一組裝置。這些裝置將會在下載時驗證簽章,並只安裝受信任程式碼。客戶可使用 IAM 來對簽署工具提供更精細的存取控制,以限制唯有指定的開發人員才能簽署和排程新的韌體更新。

問:我是否需要使用程式碼簽章?

否,您也可以使用自己的簽章服務,將簽章的映像直接上傳到 Amazon S3。您必須將 FreeRTOS OTA 代理器修改為接受您選擇使用的簽章格式。

問:哪些硬體支援 OTA?

您可以在 AWS Partner Device Catalog 找到支援 FreeRTOS OTA 的合格服務。

FreeRTOS 安全性

問:FreeRTOS 如何保護傳輸中資料的安全?

FreeRTOS 使用 Transport Layer Security (TLS 1.2) 保護雲端的安全連線。TLS 協定可確保兩個通訊應用程式之間的隱私和資料完整性。它可確保 FreeRTOS 裝置和雲端伺服器使用 X.509 憑證相互驗證,且資料在傳輸中為加密狀態。

問:FreeRTOS 如何保護裝置中 (靜態) 資料的安全?

FreeRTOS 使用稱為 PKCS #11 的標準應用程式界面,用於加密、數位簽章和加密物件管理。加密物件是保存在專用儲存或主要微型控制器的快閃記憶體 (如果無法使用專用儲存的話)。如果您的裝置需要加密靜態資料,建議您使用專用加密硬體,以保護您的加密金鑰。使用 PKCS #11 API 以存取金鑰,及加密和解密應用程式資料。

問:如何掌握最新的安全性修補程式資訊?

安全性更新會透過 FreeRTOS 主控台、FreeRTOS 安全性更新頁面以及在 GitHub 提供。

問:可以在何處報告安全問題?

若要報告安全問題,請瀏覽 AWS 的漏洞報告

問:如何以最新的安全性修補程式更新 FreeRTOS 裝置?

建議您使用 FreeRTOS 的無線 (OTA) 更新功能,將安全性修補程式傳送到您的 FreeRTOS 裝置。在 AWS IoT Device Management 主控台中,您可以提供韌體映像、選取要更新的裝置,然後建立 FreeRTOS OTA 任務更新。程式碼簽章功能會驗證裝置上的簽章映像,以確保您的裝置程式碼不會在部署和更新期間遭到入侵。如需 OTA 更新功能的詳細資訊,請參閱 FreeRTOS 使用者指南

進一步了解 FreeRTOS

瀏覽 FreeRTOS 概觀頁面
準備好開始使用了嗎?
註冊
還有其他問題嗎?
聯絡我們