首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 203 毫秒
1.
基于AX88796的嵌入式网络设备驱动程序设计   总被引:1,自引:1,他引:0  
论述了嵌人式Linux网络设备驱动程序的体系结构,即:协议接口层、网络设备接口层、设备驱动功能层、网络设备和网络媒介层;介绍了$3C2410X处理器与以太网控制器AX88796的接口设计;阐明了AX88796网络设备驱动程序设计方法.嵌入式Linux网络设备驱动程序有内核加载和模块加载两种形式,本网络设备驱动程序采用了基于模块加载网络驱动程序的设计方法,通过模块加载insmod命令将网络设备驱动程序插入到内核之中.所设计的驱动程序加载方便、运行可靠.  相似文献   

2.
Linux内核版本频繁升级对驱动程序带来的关联影响程度和影响范围都很大,为了修复这种关联影响带来的驱动程序调用内核接口的不一致性错误,不断修改旧版本驱动代码进行前向移植是一个持续和紧迫的问题.驱动演化辅助理解、驱动移植中间库辅助适配和驱动移植辅助信息等方面的已有研究,通过检索语句级别的辅助信息提高了驱动移植的效率.但是已有方法仅关注了检索辅助信息本身却并没有区分其中包含的有效补丁素材,因此还需要人工分析和手工构造适配性补丁.为了克服上述限制,提出了一种全新的方法旨在推荐驱动前向移植中接口错误的高质量补丁.观察发现,依赖相同内核接口服务的多个不同驱动程序之间存在相同或相似的内核接口调用,内核版本升级后其他驱动的历史开发信息中可能存在这种复用接口及其使用变更的已有实例代码.利用出错接口语句和相似已有实例的共性分析错误问题的特点,通过已有实例的辅助作用抽取针对性的接口修改方式和修改内容等细粒度素材生成待推荐补丁.具体结合分界点识别、相似度计算、细粒度差异比较和频度计算确定有效修改方式.提出了一种基于已有实例差异特征的分类算法,通过区分修改内容的不同类型分别从2种数据源提取.最后使用编辑脚本技术生成推荐补丁列表.在9个不同类型的真实驱动程序上的实验表明,该方法能够推荐驱动移植中7类接口错误补丁,有效补丁占比约67.4%,对现有辅助方法形成了有效补充和拓展.  相似文献   

3.
基于嵌入式Linux的LCD驱动分析与实现   总被引:4,自引:0,他引:4  
基于2.6内核的嵌入式Linux系统.以EP9315为核心硬件平台,说明了LCD驱动原理及硬件接线,简介Linux设备驱动和Framebuffer显示设备接口,最后在Linux的Framebuffer接口上实现了LCD驱动程序编写.实际测试基于OT/E的图形用户界面程序在LCD上显示效果良好,驱动的分析与实现过程时类似LCD驱动有借鉴意义.  相似文献   

4.
帧缓冲(framebuffer)是Linux内核为显示设备提供的一个接口.对Linux下帧缓冲技术的实现原理,帧缓冲驱动程序的体系结构进行了讨论.以Linux2.6.28和飞思卡尔半导体的MX51处理器为系统设计的软、硬件平台,以高清视频输出系统中的DVI驱动设计为例,分析了嵌入式应用系统中,帧缓冲设备驱动程序的实现框架和设计方法.  相似文献   

5.
基于FPGA嵌入式系统,在PowerPC架构的Linux2.6操作系统环境下,对通用输入输出接口(GPIO)控制器的驱动,采用平台设备机制进行中断控制管理.通过该管理机制,将GPIO设备本身的资源注册进内核,由内核统一管理.在参照Linux2.6内核源码有关平台设备驱动的基础上,编写和测试了GPIO设备的驱动程序.该驱...  相似文献   

6.
嵌入式Linux设备驱动程序开发   总被引:11,自引:6,他引:11  
阐述在嵌入式Linux环境下设备驱动程序的开发,详细探讨了嵌入式Linux设备驱动程序的通用模块框架和具体开发流程,说明了驱动程序与内核的关系,归纳嵌入式Linux设备驱动程序的共性.解析Linux设备驱动程序模块的概念,进一步分析了驱动模块的初始化和卸载这两个关键函数.通过实例论述如何设计和编写模块化的嵌入式Linux设备驱动程序,以及解释驱动程序的关键代码.最后归纳了开发嵌入式Linux设备驱动程序的核心思想.  相似文献   

7.
引言 Linux设备驱动程序属于Linux内核的一部分,并在Linux内核中扮演着十分重要的角色。它们像一个个“黑盒子”,使某个特定的硬件响应一个定义良好的内部编程接口,同时完全隐蔽了设备的工作细节。用户通过一组和具体设备驱动无关的标准化的调用来完成相关操作,驱动程序的任务就是把这些调用映射到具体设备对于实际硬件的特定操作上。  相似文献   

8.
设备驱动是Linux系统的重要组成部分,也是硬件和应用软件之间的纽带,而网络设备更是设备间通信的重要方式之一,所以设计网络驱动有着重要的意义。论文在分析Linux网络驱动程序体系结构的基础上,利用Linux2.6.32.2内核在S3C2440开发板上移植编写DM9000网卡驱动程序的实例,重点讨论了嵌入式网络驱动程序的实现原理,并详细分析了程序代码的框架结构。设计的网卡接口电路与程序最终实现了驱动的目的,使得DM9000网卡能够正常工作,并且可以应用到多种嵌入式设备当中。  相似文献   

9.
帧缓冲(framebuffer)是Linux内核为显示设备提供的一个接口。对Linux下帧缓冲技术的实现原理,帧缓冲驱动程序的体系结构进行了讨论。以Linux2.6.28和飞思卡尔半导体的MX51处理器为系统设计的软、硬件平台,以高清视频输出系统中的DVI驱动设计为例,分析了嵌入式应用系统中,帧缓冲设备驱动程序的实现框架和设计方法。  相似文献   

10.
内核扩展函数以接口的形式提供给驱动,用于管理设备和申请相关的资源.这些接口中存在大量的顺序依赖规则,如自旋锁必须经过初始化才能加锁,然后才能解锁;驱动在加载时申请的内存,卸载时必须予以释放等.然而,驱动开发者常常不熟悉或疏忽内核接口的使用规则,导致驱动中存在大量的接口使用违例,影响驱动及系统的可靠运行.文中提出了一种面向内核接口的顺序依赖规则挖掘与违例检测方法(SD-Miner).该方法结合驱动源码的结构特征,对驱动代码使用的内核接口进行统计分析,挖掘并提取内核接口的顺序依赖规则,并利用提取的规则检测现有的驱动源码中的使用违例.SD-Miner对Linux 3.10.10和2.6.38的驱动源码分别进行了规则挖掘和违例检测.对比检测结果发现,在2.6.38中检测出的错误中,有64处在3.10.10中得到了修正.SD-Miner检测和分析Linux 3.10.10的3781款驱动的过程仅耗费5 min,共计提取出了220个顺序依赖相关的接口使用规则,并检测到了756个使用违例,作者将其中50个提交给了开发者,累计有25个回复者对20个使用违例进行了确认.实验结果表明,SD-Miner能够有效地挖掘出内核接口的顺序依赖规则,并检测出使用违例,进而辅助开发人员对驱动进行修正来提高驱动可靠性.此外,规则的挖掘是基于驱动的结构信息和统计信息,不需要开发者在源码中提供额外的注释及标注.  相似文献   

11.
The Linux operating system is quickly becoming a standard, attracting a wide user community and supporting a broad variety of applications and devices. Other vendors, such as Sun, have provided Linux‐compatible system call interfaces to their kernels, but are constrained by the lack of device support. To address this problem, we present a system (called PITS) to build device drivers, in this case for Solaris x86, from Linux source code. To accomplish this goal, we designed tools and Linux kernel emulation code to handle the myriad incompatibilities. These incompatibilities require the ability to resolve symbol conflicts, emulate internal Linux kernel data structures, handle module initialization, and generate module dependencies. With our method, we show that converting Linux device drivers is possible, but has a few technical difficulties. Issues arise with sparse documentation, external user interfaces, and modular driver implementations. There are also fundamental differences between the two operating systems, such as interrupt and DMA handling. We describe each of these issues and their current solutions to build a functional driver in the Solaris environment. Using the IOzone file system benchmark, we also demonstrate comparable performance between our generated SCSI driver set and their corresponding native counterparts. Copyright © 2006 John Wiley & Sons, Ltd.  相似文献   

12.
The Linux Driver Verification system is designed for static analysis of the source code of Linux kernel space device drivers. In this paper, we describe the architecture of the verification system, including the integration of third-party tools for static verification of C programs. We consider characteristics of the Linux drivers source code that are important from the viewpoint of verification algorithms and give examples of comparative analysis of different verification tools, as well as different versions and configurations of a given tool.  相似文献   

13.
Modular software model checking of large real‐world systems is known to require extensive manual effort in environment modelling and preparing source code for model checking. Avinux is a tool chain that facilitates the automatic analysis of Linux and especially of Linux device drivers. The tool chain is implemented as a plugin for the Eclipse IDE, using the source code bounded model checker CBMC as its backend. Avinux supports a verification process for Linux that is built upon specification annotations with SLICx (an extension of the SLIC language), automatic data environment creation, source code transformation and simplification, and the invocation of the verification backend. In this paper technical details of the verification process are presented: Using Avinux on thousands of drivers from various Linux versions led to the discovery of six new errors. In these experiments, Avinux also reduced the immense overhead of manual code preprocessing that other projects incurred. Copyright © 2008 John Wiley & Sons, Ltd.  相似文献   

14.
张达运  汪汉新 《计算机工程》2011,37(11):283-284
为减小传统的通过编写大量代码来调用Linux内核及驱动接口进行测试的编程难度,缩短测试周期,采用将Lua脚本语言载入Linux内核并使用脚本语言进行内核及驱动测试的方法,设计并实现一种简易Linux内核驱动测试工具。实验结果表明,该工具所占用的Linux内核空间小,使用灵活方便,可对内核及驱动模块进行准确有效的测试。  相似文献   

15.
设备驱动是Linux系统重要的组成部分,它在硬件和终端之间建立了标准的接口,大大简化了驱动的开发难度。在Linux下设计设备驱动的基本方法。最后分析了自主开发的基于Motorola MPC860的Wlan AP下的Linux网络设备驱动。  相似文献   

16.
W.  L.  D.  G.  A. A.   《Journal of Systems and Software》2004,70(3):229-244
The design of system-on-a-chip (SoC) circuits requires the integration of complex hardware/software components that are customized to efficiently execute a specific application. Nowadays, these components include many different embedded processors executing concurrent software tasks. In this paper, we present an object-based component interconnection model to represent both hardware and software components within a system architecture in a very high level of abstraction. This model is used in a design flow for automatic generation of hardware/software interfaces for SoC circuits. Design tools for automatic generation of embedded operating systems, hardware interfaces and associated device drivers are presented and evaluated using the results obtained with a VDSL application.  相似文献   

17.
Multiprocessor SoC platforms: a component-based design approach   总被引:1,自引:0,他引:1  
A high-level, component-based methodology and design environment for multiprocessor SoC architectures reduces design time without significant efficiency loss in the final circuit. This design environment provides tools for automatic wrapper generation that synthesize hardware interfaces, device drivers, and operating systems implementing high-level interconnect APIs.  相似文献   

18.
基于XML的BSP敏捷开发方法*   总被引:1,自引:0,他引:1  
简要分析了目前Linux BSP开发存在的缺陷,通过分析两个不同版本嵌入式Linux的Ac97声卡驱动程序的异同,针对不同处理器提出了一种基于Linux的BSP标准.在此基础上,实现了一套基于XML的Linux BSP标准化配置工具,实现了基于图形界面的Linux BSP生成方式,提高了嵌入式Linux BSP的开发效率.  相似文献   

19.
A key issue in maintaining Linux device drivers is the need to keep them up to date with respect to evolutions in Linux internal libraries. Currently, there is little tool support for performing and documenting such changes.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号