本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解 FreeRTOS 公用 IO API
通用 IO API 将充当硬件抽象层 (HAL),提供驱动程序和更高级别的应用程序代码之间的通用接口。FreeRTOS 通用 IO 提供一组标准 API,用于在支持的参考主板上访问常用串行设备;这些 API 的实现未包括在内。这些通用 API 与外围设备进行通信和交互,可让您的代码跨平台运行。如果没有通用 I/O,则编写代码以使用低级设备这一操作是特定于芯片供应商的。
注意
FreeRTOS 不需要实现通用 IO API 即可运行,但它会尝试使用通用 IO API 来连接基于微控制器的主板上的特定外围设备,而不是使用供应商特定的 API。
通常,设备驱动程序独立于基础操作系统,并且特定于给定的硬件配置。HAL 提取出特定驱动程序的工作原理的详细信息,并提供一个统一的 API 来控制此类设备。您可以使用相同的 API 跨多个基于微控制器 (MCU) 的参考主板来访问各种设备驱动程序。
库
目前,FreeRTOS 提供了两个通用 IO 库:“通用 IO - 基本”和“通用 IO - BLE”。
通用 IO - 基本
- 概览
-
通用 IO - 基本
提供的 API 用于处理基本 I/O 外设和基于 MCU 的主板上可能找到的功能。在 GitHub 上可找到“通用 IO - 基本”存储库。 - 支持的外围设备
-
-
ADC
-
GPIO
-
I2C
-
PWM
-
SPI
-
UART
-
看门狗
-
闪存
-
RTC
-
EFUSE
-
重置
-
I2S
-
性能计数器
-
硬件平台信息
-
- 支持的特征
-
-
同步读/写
此函数直到传输了请求的数据量后才返回。
-
异步读/写
此函数立即返回,并且数据以异步方式传输。在此操作完成后,将调用已注册用户回调。
-
- 外围设备特定的
-
-
I2C
将多个操作合并到一个事务中。用于在一个事务中依次执行写入操作和读取操作。
-
SPI
在主设备和辅助设备之间传输数据,这意味着写入操作和读取操作会同时进行。
-
- API 参考
-
如需完整的 API 参考,请参阅通用 IO - 基本 API 参考
。
通用 IO-BLE
- 概览
-
通用 IO - BLE 提供了制造商低功耗蓝牙堆栈的抽象。提供了以下接口,可用于控制设备以及执行 GAP 和 GATT 操作。在 GitHub
上可找到“通用 IO - BLE”存储库。 - 蓝牙设备管理器:
-
提供了一个用于控制蓝牙设备、执行设备发现操作和其他与连接相关的任务的接口。
- BLE 适配器管理器:
-
为特定于 BLE 的 GAP API 函数提供了一个接口。
- 经典蓝牙适配器管理器:
-
提供了一个用于控制设备的 BT 经典功能的接口。
- GATT 服务器:
-
提供了一个使用蓝牙 GATT 服务器功能的接口。
- GATT 客户端:
-
提供了一个使用蓝牙 GATT 客户端功能的接口。
- A2DP 连接接口:
-
为本地设备的 A2DP 源配置文件提供了一个接口。
- API 参考
-
如需完整的 API 参考,请参阅通用 IO - BLE API 参考
。
适用于 Amazon 通用软件的通用 IO
通用 IO API 是 Amazon Common Software for Devices
什么是 ACS?
Amazon Common Software (ACS) for Devices 是一款软件,用于更快地将 Amazon设备软件开发工具包集成到您的设备上。ACS 为连接、设备移植工具包 (DPK) 和多层测试套件等常见功能提供了统一的 API 集成层、经过预先验证且节省内存的组件。
资格认证计划
Amazon Common Software for Devices
ACS 芯片组供应商
有关资格认证的信息,请联系适用于设备的 ACS