一种嵌入式驱动程序辅助生成工具的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:lgj2097
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着嵌入式系统的广泛应用,新的嵌入式设备层出不穷,为这些设备快速编写正确的驱动程序因而越来越困难。一方面,设备寄存器相关的操作代码(如:位操作代码)编写繁琐且容易出错,并且不精确的设备文档影响了驱动程序员熟悉设备的寄存器信息和访问方式。另一方面,由于嵌入式系统缺乏统一的标准,已有的为每个平台上的每个设备分别编写驱动程序的开发方式不易复用。通过接口描述语言描述设备驱动程序所需的信息,实现驱动程序开发的自动化和复用有助于解决上述问题。为了能够快速准确的开发驱动程序,本文设计实现了一个嵌入式驱动程序辅助生成的框架,主要包含一个简洁易读、支持复用和平台无关性的驱动程序接口描述语言(EDDI)和一个可以自动生成硬件相关代码的转换器。EDDI采用类XML的标记式语言的语法规则,使得EDDI描述文件简洁易读。针对驱动程序中硬件操作相关代码繁琐易出错的特点,设备的EDDI描述文件详细描述编写硬件相关代码所需的寄存器信息、硬件平台信息以及为实现设备的基本功能所需的寄存器操作序列,通过转换器自动生成硬件相关操作的代码供驱动程序员使用。EDDI从寄存器、硬件平台特性、设备基本功能三个方面描述设备,当驱动程序所需的设备基本功能改变时,寄存器和硬件平台特性描述可以复用;当设备被置于不同硬件平台时,寄存器和设备基本功能描述可以复用。除此之外,EDDI通过对操作系统提供的驱动程序所需的核心服务接口进行统一建模,针对不同类型的操作系统和硬件平台提供相应的头文件和库文件进行支持,实现EDDI描述文件的平台无关性。本文提出的驱动程序辅助生成工具在S3C4480开发板上,UCOS操作系统中进行了实验,为三星S3C4480的UART串口控制器和RTC实时钟编写驱动程序。实验结果表明本文设计是可行的。
其他文献
交流在科学研究领域中起着至关重要的作用。现实中的期刊、学术会议等形式为学者们提供了交流的渠道;在网络上,需要这样一个平台,任何对学术感兴趣的人都可以在这个平台上自由地
RFID是一种非接触、多目标、移动目标识别的自动识别技术,目前受到了全球范围内的广泛关注和大力推广。但是RFID至今尚未能大规模应用,关键原因在于缺乏一套可靠高效的公共服务
模型转换是当今软件工程领域的热点研究方向之一。为了使模型转换规则能更好的复用,并且为用户提供方便使用的友好的界面,同时考虑到建模元素的语法结构和语义特性,本文提出了一
P2P文件共享系统在全球范围内的大规模应用,为用户的资源共享带来便利的同时,也给网络流量监管、软件版权保护等工作带来了新的挑战。针对P2P系统开展测量与可视化分析的研究工
近年来,流体模拟被广泛应用于各个领域,特别是在电影特效及计算机游戏中。从视觉效果角度出发,人们更关注的是流体液面的细节,如湍流、水面薄片、细流及飞溅的水花等。然而模拟这
三维物体姿态测量在日常生活、工业制造、科学研究等领域都有重要应用。近年来智能手机、平板电脑、无人机等移动终端迅速发展并广泛普及,它们大多同时搭载了相机(Camera,多为
三维模型的离散网格表示是计算机辅助设计(CAD)与计算机图形学的基本技术,也是许多后续处理和应用的基础。但是,离散网格模型上存在的孔洞、裂缝和随机的网格噪声,常常影响后续
本文设计和实现了一个交互式电脑游戏中的非玩家角色(non-player character,NPC)。NPC是一种处于动态、实时和复杂虚拟环境中的Agent,所以使这样的Agent产生智能行为是一个较
本文要解决的问题是:文档电子化过程中,对以数码相机为采集设备的文档图像展平修正的问题,其目的是去除数码相机采集的文档图像中的文档弯曲以及透视形变,从而提高录入文档图像的
本文以数字化校园数据中心的建设为背景,以异构数据交换的实施为着眼点,提出了利用数据交换中间件产品来进行异构数据交换的实现方案。从北京大学数字化校园建设的实际出发,找到