您的位置: 首页 >> 新闻中心 >> 计算机 >> 软件开发
嵌入式系统串行设备管理的研究与实现
■ 最新课程推荐更多课程>>
学校培训课程开课时间上课地点精英价报名
正辰培训 微软软件测试工程师电话预约西直门教学区¥4704
新 科 海 软件测试工程师就业班电话预约海淀长远天地¥6280
北师大IT 软件工程与测试实战班电话预约北京师范大学¥1800
北师大IT 高级网络工程师就业班电话预约北京师范大学¥13000
金 同 方 网络工程师就业周末班电话预约人大总部¥7000

    引言

    随着微电子技术的发展,嵌入式系统的功能越来越强大,像 UART口、IrDA、USB、I2C以及SPI这些串行接口或设备同时存在于一个嵌入式系统中,实现对它们的统一管理将能极大地提高整个嵌入式系统的可移植性、易用性以及开发效率。本文通过对嵌入式系统串行设备管理技术的研究,提出了“带USB的串行管理”模型,并详细阐述了串行设备管理的实现过程。

    串行设备管理

    串行设备管理是指对COM,IrDA、I2C、modem等流设备和接口的统一管理。具体说,就是通过统一的上层应用层接口和下层驱动层接口实现对串行设备的统一管理和透明化处理,从而提高整个系统的易用性和可移植性。USB作为一种新型的高速串行总线,由于具有复杂性和高速性等特点,在嵌入式操作系统中一般专门为其建立一个USB模型而不放入串行设备管理中。虽然这样有利于全面地管理USB主机、USB Hub以及USB设备,但整个模型实现代码大而难,且在嵌入式系统下位机中多是USB设备而没有USB主机和USB Hub。针对这一特点,本文把对USB设备的管理加入到串行管理中,使得对USB设备的访问如同对一个串口的访问一样方便,从而提出了带USB的串行管理模型。

    带USB的串行管理模型

    整个管理模型由两层构成,上层为操作系统应用层接口函数集,主要是统一化的串行流接口函数,如OpenFile等;下层为硬件驱动程序层对象和函数。串行管理的设备对象由虚拟化的HWOBJ结构体来定义,虚拟对象的登记和管理则是通过对DEVICE_LIST结构体的管理来实现。HWOBJ结构体定义为:

    typedef struct _HWOBJ {
    void *device_parent;     //指向DEVICE_LIST结构
    unsigned short  device_index;  //物理设备号,指向实际的串行设备或接口
    unsigned long  bind_flags;     //中断服务线程处理标志位,预留
    unsigned long  IntID;       //指定中断类型,预留
    void  *reserved;
    PHW_VTBL func_tbl;     //硬件驱动函数对象表
    } HWOBJ, *PHWOBJ;
    DEVICE_LIST结构体定义为:
    typedef struct _DEVICE_LIST {
    char  *DllName;            //设备DLL文件名,预留
    unsigned long NumberOf Devices;   //设备数量
    void *DeviceArray;         //设备队列
    } DEVICE_LIST, *PDEVICE_LIST;

    为了解决USB的高速缓冲问题,专门采用了两个单独的循环队列,一个用于缓冲USB的IN传输数据,一个用于缓冲USB的OUT传输的数据。

    带USB的串行设备管理驱动结构如图1所示。


图1  带USB的串行设备管理驱动结构

    带USB的串行管理的实现

本新闻共2页,当前在第1页  1  2

  影视动画培训   北大BEC培训官方报名网站   2008美国夏令营启航官方指定报名网站   2008留学第一站!  
  北师大 火星时代
共举影视动画培训之鼎
  北大BEC培训官方报名网站
现在报名独享95折!
  2008年国家职业资格考试
一次过关完全备考手册
  2008留学第一站
留学资讯尽在精英留学站!
 
上一篇:嵌入式操作系统Nucleus下触摸屏驱动的开发
下一篇:嵌入式便携设备中电源管理的分析与研究【1】
 相关新闻
·“主动程序员”与“被动程序员”[1]·“主动程序员”与“被动程序员”[2]
·计算机英语:程序设计语言·计算机英语:什么是程序设计
·用Javascript轻松制作抽奖系统·C++程序设计从零开始之表达式
·程序员:计算机英语之程序设计语言·编程指南:C语言编程易犯毛病集合
·C语言中的typedef问题·软考程序员四大忌
·嵌入式系统中文输入法的设计·嵌入式人机界面中的键盘及其接口设计
·嵌入式操作系统的通用硬件抽象层设计·WindowsCE6.0的技术发展与突破
·嵌入式软件测试的十大秘诀·嵌入式便携设备中电源管理的分析与研究【1】
 
◇ 重点栏目导航
◇ 精英服务承诺
教育顾问:010-51660910
QQ交流:138660910
相关资料
·软件测试新手的修炼之路
·Smarty简体中文参考手册
·Struts中文手册
·Struts快速学习指南
·ultradev动态网页制作教程
·UML工具箱
·《设计模式》中文版
·学友Flash伴侣 1.11
·阿须图像水印(AssureMark)V2.0
·超级语霸
相关试题
·2008年云南公务员考试专业试卷之科技环保
·2008年云南公务员考试试卷之教育文化类专
·2008年云南公务员考试试卷参考答案之科技
·2008年云南公务员考试试卷参考答案之教育
·2008年公务员考试科教管理类专业试卷参考
·2008年公务员考试科教管理类专业试卷(云
·2007年全国CPA考试试卷及答案解析之《会
·2007年CPA试卷及答案解析之《财务成本管
·2008年注会考前模拟试题之《财务成本管理
·2007年全国CPA《税法》考试试卷及答案解
相关热贴
·如何改QQ IP地址!
·恰当选择软件测试自动化方案
·ADO.NET学习总结
·.net操纵xml文件类(c#)
·Log4net教程
·VPN技术详解
·高手必读 网络端口安全防护技巧放送
·访问XP共享出现的问题解决办法
·Web2.0时代,RSS你会用了吗?(技术实现总
·.NET下正则表达式应用的四个示例