

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 了解 FreeRTOS Common IO APIs
<a name="freertos-common-io"></a>

常見的 IO APIs 可做為硬體抽象層 (HAL)，在驅動程式和更高層級的應用程式程式碼之間提供通用界面。FreeRTOS Common IO 提供一組標準 APIs用於存取受支援參考電路板上的常見序列裝置；這些 APIs 的實作不包含在內。這些通用 API 會與這些周邊裝置進行通訊和互動，並讓您的程式碼可跨平台運作。如果沒有通用 IO，編寫程式碼以使用低階裝置是矽供應商特定的。

**注意**  
FreeRTOS 不需要實作通用 IO APIs 即可運作，但會嘗試使用通用 IO APIs 做為與微型控制器主機板上的特定周邊裝置界面的方式，而非廠商特定的 APIs。

通常，裝置驅動程式與基礎作業系統無關，而且是特定於指定的硬體組態。HAL 抽取了特定驅動程式運作方式的詳細資訊，並提供統一的 API 來控制這類裝置。您可以使用相同的 APIs，跨多個微型控制器型 (MCU) 參考板存取各種裝置驅動程式。

## Libraries (程式庫)
<a name="freertos-common-io-libraries"></a>

目前，FreeRTOS 提供兩種通用 IO 程式庫：通用 IO - 基本和通用 IO - BLE。

### 常見 IO - 基本
<a name="freertos-common-io-libraries-basic"></a>

*概觀*  
[常見 IO - 基本](https://aws.github.io/common-io-basic/) 提供 APIs，可處理您在 MCU 型主機板上可能找到的基本 I/O 周邊裝置和函數。通用 IO - 基本儲存庫可在 [GitHub](https://github.com/aws/common-io-basic) 上取得。

*支援的周邊裝置*  
+ ADC
+ GPIO
+ I2C
+ PWM
+ SPI
+ UART
+ 監視程式
+ 快閃記憶體
+ RTC
+ EFUSE
+ 重設
+ I2S
+ 效能計數器
+ 硬體平台資訊

*支援的功能*  
+ 同步讀取/寫入

  在傳輸請求的資料量之前，函數不會傳回。
+ 非同步讀取/寫入

  函數會立即傳回 ，且資料傳輸會以非同步方式進行。當動作完成時，即會叫用已註冊的用戶回呼。

*周邊裝置特定*  
+ I2C

  將多個操作合併為一個交易。用來在一個交易上執行先寫入後讀取動作。
+ SPI

  在主要和次要之間傳輸資料，這表示寫入和讀取同時發生。

*API 參考*  
如需完整的 API 參考，請參閱[通用 IO - 基本 API 參考](https://aws.github.io/common-io-basic/)。

### 常見 IO - BLE
<a name="freertos-common-io-libraries-BLE"></a>

*概觀*  
常見 IO - BLE 提供製造商低功耗藍牙堆疊的抽象。它提供下列介面，可用於控制裝置，以及執行 GAP 和 GATT 操作。通用 IO - BLE 儲存庫可在 [ GitHub](https://github.com/aws/common-io-ble) 上取得。

*藍牙裝置管理員：*  
這提供 界面來控制藍牙裝置、執行裝置探索操作和其他連線相關任務。

*BLE Adapter Manager：*  
這為 BLE 特定的 GAP API 函數提供了界面。

*藍牙 Classic Adapter Manager：*  
這提供控制裝置 BT 傳統功能的介面。

*GATT 伺服器：*  
這提供使用藍牙 GATT 伺服器功能的界面。

*GATT 用戶端：*  
這提供使用藍牙 GATT 用戶端功能的界面。

*A2DP 連線介面：*  
這為本機裝置的 A2DP 來源設定檔提供了界面。

*API 參考*  
如需完整的 API 參考，請參閱 [Common IO - BLE API 參考](https://aws.github.io/common-io-ble/)。

## Amazon Common Software 的常見 IO
<a name="freertos-common-io-acs"></a>

通用 IO APIs 是 [Amazon Common Software for Devices](https://developer.amazon.com/acs-devices) 所需實作的一部分，特別是在廠商裝置移植套件 (DPK) 中實作。

### 什麼是 ACS？
<a name="freertos-common-io-acs-what"></a>

適用於裝置的 Amazon Common Software (ACS) 是可讓您更快速在裝置上整合 Amazon Device SDKs 的軟體。ACS 為連線、裝置移植套件 (DPK) 和多層測試套件等常見功能提供統一的 API 整合層、預先驗證和記憶體效率元件。

### 資格計劃
<a name="freertos-common-io-acs-qualification"></a>

[Amazon Common Software for Devices](https://developer.amazon.com/acs-devices) 資格計劃會驗證在特定微型控制器型開發電路板上執行的 ACS DPK （裝置移植套件） 建置是否相容於程式發佈的最佳實務，且足以通過資格計劃指定的 ACS 強制測試。

符合此計畫資格的廠商會列在 [ACS Chipset Vendors](https://developer.amazon.com/avs-silicon-vendors) 頁面上。

如需資格的相關資訊，請聯絡 [ACS for Devices](https://developer.amazon.com/acs-devices)。