注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
辛昕.九门.上 https://home.eeworld.com.cn/space-uid-115166.html [收藏] [复制] [分享] [RSS]
日志

FreeRTOS中文尝试:FreeRTOS+IO

已有 9748 次阅读2015-7-11 14:19 |个人分类:FreeRTOS中文| 中文

(注:我不知道这种做法会不会触及什么违反版权的问题,所以,在此我只能表示这绝非商业目的应用,此外,如果我触及了任何人的利益请告知我,我立马撤销)
前面我写了一篇算是引子的文章,但说的都不是翻译的内容。所以这篇我决定不写别的,直接翻译,从我最初感兴趣的 posix like的FreeRTOS+IO开始。
我的做法很简单,从官方的相关页面,把英文内容全部复制过来,然后全数翻译,再删除掉英文内容,同时提供每段内容的原来网址。

原文网址:
http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_IO/FreeRTOS_Plus_IO.shtml

FreeRTOS+IO
一个为FreeRTOS而做的POSIX风格的外设驱动扩展(库)

介绍

       FreeRTOS+IO提供了一个 Linux/POSIX风格的 open(),read(),write(),ioctl()类型的接口来访问外设库。它们处在外设库和用户应用之间,为所支持的机器平台上的所有外设提供一套单一的,公共访问接口。当前的板级支持包之提供了 串口、I2C、SPI操作,无论是简单的阻塞模式还是中断驱动模式,其他非串行接口也将很快增加。

       FreeRTOS+IO的抽象屏蔽了外设的细节,包含了所有可能的中断服务。满足各种各样的数据传输模式。用不一样的读写方式,使FreeRTOS+IO可以适应广泛的应用。

       查看快速简单的 source code examples来理解FreeRTOS+IO的概念,并看它的API是如何运转起来的,更深的理解实例需要使用BSP,它们包含了FreeRTOS+IO的例子,另外还有FreeRTOS+CLI的例子,可以用于创建一个telnet能像服务器一样用于操纵在SD卡上的文件和查看FreeRTOS statistic(此处FreeRTOS statistics,我怎么也理解不了,只能照录)



FreeRTOS+IO in the context of an application

The FreeRTOS+IO layer sits between the user application and the peripherals.


这幅图取自 该网页:表示了FreeRTOS+IO在整个软件框架中的位置

The FreeRTOS+IO API

这套FreeRTOS+IO API可以描述成一个提供一套 Linux/POSIX样式的支持外设的接口,它们都是(统一的)open(),read(),write()和ioctl()。一个很重要的声明是,这显然不能称之为POSIX兼容,这套API命名为 FreeRTOS_open()FreeRTOS_read()FreeRTOS_write() and FreeRTOS_ioctl()
FreeRTOS+IO当前提供三种写模式,三种读模式。它们的具体细节简单描述如下表,而在in the transfer modes section页面中将描述得更加准确。
FreeRTOS_ioctl()调用常常用于在这些模式中切换。

传输模式读写方向描述
查询方式读/写最基本的读写模式,用忙等待替代中断
中断驱动
环形缓冲
只读中断模式的一种,通过一个中断服务程序,把接收的数据放入缓冲,以后将被(数据使用方)从缓冲中读出并删除数据。
中断
0 driver(??)
只写一种有效的方式,它通过中断服务程序把数据直接写到一个缓冲里,而不需要为当前的存储(??)增加多余的RAM空间,也不需要多余的复制操作;
中断驱动
字符串队列
读/写一个简单的模式,FreeRTOS队列用于缓冲数据 在 中断服务程序 和 读写操作之间。

注:上述这个表格,我是照着翻译的,我个人感觉很难理解。所以过后,我还需要从上面提到的那个

in the transfer modes section页面的翻译中得到更进一步的信息。


评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章