论文部分内容阅读
随着计算机技术、通信技术和控制技术的进步,嵌入式技术得到了飞速的发展,而选择一个合适的嵌入式操作系统将显著提高系统的性能和开发速度。嵌入式Linux操作系统的内核高效稳定、可移植性强,再加上其源代码公开、资料丰富,因此在嵌入式领域得到了广泛应用。ARM是当前应用最广的32位微处理器,而把Linux应用到ARM处理器上是嵌入式领域的热点之一,所以在此选择了三星公司的ARM9处理器s3c2410和Linux2.6.20内核作为研究对象。本文是作者在对嵌入式Linux进行了大量研究和实践的基础上,对嵌入式Linux的核心技术从内核层次上进行的探索。Bootloader是在操作系统运行之前执行的一段小程序,主要完成硬件的初始化和为操作系统的运行准备一个正确的环境。一个操作系统内核的主要功能就是管理硬件资源和对硬件进行抽象,Linux作为一个通用的操作系统,其内核是由内存管理、进程控制、文件系统、设备驱动等基本部分构成的。在嵌入式系统中,内存是一种十分稀缺的资源,是每个操作系统都应该考虑的基本问题,其具体实现严重依赖于硬件的体系结构,在s3c2410处理器中有对内存管理进行支持的MMU部件,主要提供虚拟内存映射和内存保护功能。进程的管理和控制功能,基本上可以作为区分一种软件是否可以称为操作系统的依据,进程的运行方式直接决定了一种操作系统的实时性能,是操作系统设计成败的最关键因素。文件系统是数据存储和管理在操作系统上的实现,是对存储介质操作的一种抽象,其底层是存储介质的驱动程序,也是一些大型操作系统的必须成分。而设备驱动程序是计算机和外部世界进行通信的桥梁,计算机如果没有输入输出和各种各样的外设就失去了其存在的意义,因此,设备驱动程序在操作系统设计中占有重要的地位。在Linux中,设备驱动程序是以模块的形式存在的,可以被动态的安装和和卸载,也可以静态的和内核编译在一起。因此,为了探索嵌入式Linux的实现原理,本文在介绍了嵌入式Linux的发展历史和未来趋势之后,从U-Boot的代码出发深入研究了Bootloader的概念、功能和主要框架。接着,从内核层次而不是应用层次上研究了Linux的内存管理、进程管理、系统调用、中断处理和设备驱动程序在ARM处理器上的实现机理,并提出了改进内核的一些具体措施和应用嵌入式Linux的一些关键技术,对于研究操作系统原理和Linux应用程序的开发都有重要意义。蓝牙是一种无线短距离通信技术,近年来得到了很快的发展,在研究了嵌入式Linux内核主要部分的基础上,基于ARM-Linux平台设计了一款蓝牙局域网接入点,已经成功实现了基本的功能,其性能表明了Linux用于嵌入式系统是合理而可行的。