FreeRTOS-Plus-IO
适用于 FreeRTOS 的 POSIX “样式”外设驱动程序扩展
简介
FreeRTOS-Plus-IO 为外设驱动程序库提供了 Linux/POSIX
(类似
open()、read()、write()、ioctl())
类型的接口。 该接口位于外设驱动程序库和用户应用程序之间,
为所有受支持平台上的
所有受支持外设提供单一、通用的接口。 当前的板级支持包实现
支持 UART、I2C 和 SPI 操作,包括轮询和中断驱动
模式。 不久将增加对非串行外设的支持。
FreeRTOS-Plus-IO 抽象出外设接口细节,包括
可能需要的任何中断服务程序的实现。
针对不同的数据传输模式,
采用不同的读写技术,使得 FreeRTOS-Plus-IO
广泛适用于各种应用程序。
查看快速和简单的源代码示例
以了解 FreeRTOS-Plus-IO 概念,并查看其 API 实际操作。 板级支持包附带更全面的演示,
包括 FreeRTOS-Plus-IO 和 FreeRTOS-Plus-CLI 用于创建类似 telnet 的服务器的示例,
此服务器可用于操作 SD 卡上的文件
并查看 FreeRTOS 统计信息。
FreeRTOS-Plus-IO 层位于用户应用程序和外设之间。
FreeRTOS-Plus-IO API
与 Linux/POSIX “类似”,
可为支持的外设提供 open()、read()、write() 和 ioctl() 接口。
然而,必须明确的是,并未实际上声明兼容 POSIX。
这套 API 函数的名称为
FreeRTOS_open()、
FreeRTOS_read()、
FreeRTOS_write() 以及
FreeRTOS_ioctl()。
FreeRTOS-Plus-IO 目前提供三种写入模式和三种读取
模式。 下面的表格对此作了简要描述,
并在本网站的
传输模式章节
进行了更全面的描述。 FreeRTOS_ioctl () 调用用于
模式。
传输模式
|
数据方向
|
说明
|
轮询
|
读写
|
最基本的读写模式,使用非空闲等待而不是中断。
|
中断驱动的循环缓冲区
|
只读
|
一种中断驱动模式,通过中断服务程序将
接收到的数据放入缓冲区,
读取后从缓冲区中删除数据。
|
中断驱动的零拷贝
|
只写
|
中断服务程序直接从写缓冲区传输数据的一种有效模式,
无需额外 RAM 用于中间存储,
也无需额外拷贝操作。
|
中断驱动的字符队列
|
读写
|
一种简单的模式,FreeRTOS 队列用于在
中断服务程序和读取或写入操作之间
缓冲数据。
|
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.