硬汉嵌入式论坛

 找回密码
 立即注册
查看: 9631|回复: 5
收起左侧

rtt下的I/O设备管理分析(原创)

[复制链接]

15

主题

40

回帖

85

积分

版主

Rank: 7Rank: 7Rank: 7

积分
85
发表于 2014-8-11 11:51:59 | 显示全部楼层 |阅读模式
这几天研究rtt,感觉有很多与其他嵌入系统不一样的地方。
这次说的是I/O设备管理。
-------------------------------------------
ucos没有统一的I/O设备管理,如果使用一个设备,一般就是先进行设备初始化,并建立接口函数,然后建立一个线程或者中断函数使用这个驱动。
rtt则完全不一样,rtt模拟linux,使用了一套简单,但却很有效的I/O设备管理机制。
其思路,首先是对设备初始化,建立标准的驱动接口函数,
然后将这个接口函数用rtt的注册机制,注册到rtt的设备列表里面。
最后通过标准的接口函数进行调用。
基本上跟linux的思路差不多,但相对来说要简单,可以说是一个mini版。
这么做有什么优点呢,首先,将应用层和驱动层完全独立了出来,这就意味着,当下层硬件更换的时候,应用层几乎不用做什么修改就可以完成。
在ucos的下面,驱动与应用耦合很紧,当驱动发生变化的时候,应用层随着进行的修改会增加很多的不可预测性,这种不可预测性,甚至会降低了整个系统的可靠性;
而rtt的这种模式却好了很多,因为应用层与驱动通讯之间,是通过设备管理层统一管理的,一旦出现了问题,rtt的设备管理系统自身将会尽量避免更严重的问题发生。
-------------------------------------------
rtt的I/O设备管理使用方法。
帮助文档说的比较清楚了。
首先将已有的设备驱动整合,然后挂钩到一个user的子结构体,然后将这个子结构体挂钩到设备结构体上,然后再对设备结构体上面的其他函数进行简单的补充即可。
使用的时候,先将设备注册到rtt里面,然后通过统一的I/O管理函数进行相应的驱动使用。
--------------------------------------------
对于我们工程设计人员需要做什么?
对于我们工程设计人员来说,其实完全可以按照ucos的那种驱动设计方去设计和使用,rtt也运行这种应用层直接调用驱动的行为。
只是建议在以后的编程过程中,如果有精力自己做,或者是遇到规范的标准I/0设备驱动文件,优先推荐使用。
--------------------------------------------
总而言之,rtt还很年轻,不过其野心很大,有点像当年linux那么大的野心,我们有必要关注这个系统的成长和发展,并在工程项目中试用和使用。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106437
QQ
发表于 2014-8-11 18:14:17 | 显示全部楼层
感谢楼主分享[s:151] [s:151] [s:151]
回复

使用道具 举报

3

主题

68

回帖

77

积分

初级会员

积分
77
发表于 2014-9-19 16:40:02 | 显示全部楼层
[s:151]
回复

使用道具 举报

0

主题

11

回帖

0

积分

新手上路

积分
0
发表于 2015-2-1 20:09:50 | 显示全部楼层
RT-thread I/O设备 不错,好用!!
回复

使用道具 举报

0

主题

9

回帖

9

积分

新手上路

积分
9
发表于 2016-1-26 17:33:34 | 显示全部楼层
准备支持下RRT!年后马上入手!
回复

使用道具 举报

20

主题

249

回帖

309

积分

高级会员

积分
309
发表于 2016-3-19 17:56:42 | 显示全部楼层
写的不错,谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-20 17:07 , Processed in 0.173530 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表