智能与分布计算实验室
  基于Linux的嵌入式系统设备驱动分析与改造研究
姓名 魏东林
论文答辩日期 2002.05.10
论文提交日期 2004.08.18
论文级别 硕士
中文题名 基于Linux的嵌入式系统设备驱动分析与改造研究
英文题名 Device Driver Analysis & Reengineering in Linux-based Embedded System
导师1 卢正鼎
导师2
中文关键词 Linux操作系统;嵌入式系统;设备驱动程序;电源管理
英文关键词 Linux;embedded system;device driver;power management
中文文摘 在以计算机技术、通讯技术相结合的信息时代的快速发展和互联网的广泛应用的形势下,3C合一的趋势已经形成,计算机工业的中心将从计算产品转移到信息产品,嵌入式系统将成为该领域的新宠儿,因此,研究与嵌入式系统有关的关键技术?嵌入式Linux操作系统有着相当重要的实际意义。 Jinux(吉纳斯)是深圳泛友科技有限公司针对目前3C市场需求,整合源代码开放的 Linux与互联网编程语言 Java等多种前沿技术开发的嵌入式系统。在参与了Jinux中系统内核以及OS层与Java应用层接口的设计与实现的基础上,阐述了它的总体设计方案,包括它的软、硬件系统平台以及所使用的关键技术。同时,由于在研发过程中要编写、改造Intel StrongARM平台的Linux设备驱动程序,因此通过对Linux操作系统内核源代码的大量分析,对Linux设备驱动核心问题进行了深入细致地论述。进一步探讨了Jinux系统Intel StrongARM硬件平台的电源管理机制,对PC平台上的Linux系统的高级电源管理(APM) 进行了深入剖析,提出了一种利用虚拟硬件实现Intel StrongARM平台电源管理的方案,利用该方案实现了Linux应用程序的透明移植,并在此基础上实现了Jinux系统的alarm功能。最后,通过分析遵循GPL规范的自由软件Kaffe Java 虚拟机源代码,对其内部事件处理机制进行了研究,提出了一种改进的利用虚拟设备实现事件收集器的事件处理方案,有效地克服了Kaffe本身事件处理机制的缺陷,该方案通过统一的接口很好地解决了Jinux系统中Linux OS层与Java应用层交互的问题,为研制同类平台的嵌入式系统提供了有益经验。 在Jinux系统的研发过程中,利用这种对Linux操作系统设备驱动的改造方法成功实现了对Jinux系统中多种外设的有效管理。目前,Jinux系统已经通过国家科技成果鉴定并即将产品化走向3C市场。
英文文摘 With the fast development of computer technology and communication technology in information times and the broad application of Internet, it is clear that 3C will converge in the near future which will lead the hub of computer industry from the computation-oriented product to information product. Embedded system will be the most favorite thing in this field. So, the research of the key technique related to embedded system?Linux-based embedded operating system is very important. Jinux is a typical embedded system aims at the 3C market, which integrates with Linux, Java and other advanced software technique.This dissertation focus on the design and implementation of the Linux kernel device drivers and the interface between OS layer and Java layer, including its hardware platform,software architecture and the key technique. Meanwhile,in order to program and transplant linux device drivers on Intel StrongARM platform,we analyzed thousands lines of the Linux source code related to device drivers and discussed its kernel mechanism used to manage peripheral devices.Furthermore,we delved the power management principle provided by the Intel StrongARM hardware platform and analyzed the APM subsystem in linux kernel on desktop PC platform.Finally ,we proposed a scheme using virtual hardware method to implement effective power management in Jinux,by which desktop applications can be transplanted to Intel StrongARM platform transparently.At last,on the base of ananyzing GPL compliant Kaffe(a kind of java virtual machine) and its event delivery mechanism ,we demonstrated a new method to improve kaffe’s event handling capability.The improved method solved the problem of effective interaction between Linux OS and Kaffe application using a well-defined uniform interface. All above reengineered technique is successfully used to effectively manage all kinds of peripheral devices in Jinux embedded system .Nowadays, Jinux has passed the national technique authentication and will be launched to the 3C market soon.