论文部分内容阅读
伴随嵌入式技术的不断发展,嵌入式操作系统也在不断涌现。对于非实时领域,可以采用Linux和WinCe系统,对于实时领域,多采用VxWorks或开源的实时操作系统。目前开源实时内核的发展十分迅速,aCoral为项目组自主开发的支持多核并且目标定位于强实时的操作系统内核,它开放源代码,目前已经支持FAT文件系统、轻量级的TCP/IP协议栈和GUI。而随着电子技术的发展,新的外部设备不断涌现。驱动程序作为底层负责与外设通信的程序的复杂性也不断提高。因此,为使aCoral功能更加健全以便被广泛的使用,需要为它编写更多的驱动程序,同时还需要为它建立设备驱动框架。设备驱动框架能够使系统的层次结构更清晰,同时也使驱动程序的开发能够遵循统一的规则从而缩短开发周期。本文分析常见的操作系统驱动模型,可以看出尽管实现方式各有所长,但设计思想和目的均是通过采用分层结构分解驱动程序的复杂性,将驱动程序的bug与用户程序和内核隔离开。结合aCoral内核自己的特点,为了保证驱动模型对内核的实时性影响尽量减小,同时也为控制系统整体的复杂性,提出了一个适用于aCoral的设备驱动框架。考虑到USB总线的通用性,也为了验证模型的通用性,本文在最后介绍了USB总线的协议和EHCI主控器的设计规范,并说明为aCoral实现的USB协议栈模块和主控器驱动程序。