随着现代计算机技术和互联网技术的飞速发展,嵌入式系统成为了当前信息行业最热门的焦点之一。而ARM以其高性能低功耗的特点成为目前应用最广泛的32位嵌入式处理器。在嵌入式操作系统方面,Linux凭借其性能优异、结构清晰、平台支持广泛、网络支持强劲及开放源代码等多方面的优势,被嵌入式系统开发者广泛地采用。Linux 2.6包含许多新的特性,为其在嵌入式领域的应用提供了强有力的支持,新的内核越来越多地应用于嵌入式Linux系统中。 本文的工作基于艾科公司研发的硬件平台Ark1600开展。该平台上集成了多个功能模块,例如LCD、12S、GPIO、12C等,同时支持XD、CF、MMC、SD等多种硬件存储设备,在设备通信方面提供了USB、串行通信等传输方式。本文的主要工作是研究Linux在ARM芯片上的移植,并在此基础上阐述Linux设备驱动的开发。 首先构建了交叉编译环境,然后在分析Ark1600硬件体系结构的基础上详细阐述了BootLoader程序设计与实现、Linux2.6内核移植、Ramdisk文件系统移植的全过程,为后续项目的实施搭建了一个良好的开发平台。论文最后阐述了Linux 2.6内核中开发块设备驱动程序的实现方法,并以XD块设备驱动程序为例,详细阐述了Linux驱动程序的开发流程。 主要工作量在于BootLoader程序的设计与实现、Linux系统移植和XD块设备驱动程序的开发。因为项目平台独特的硬件环境,一些程序代码要严格依赖硬件设备设计。在Linux移植中的主要工作包括串口控制台的驱动、设置系统的存储布局、初始化系统定时器、初始化系统中断、在Linux系统中建立标识本硬件平台的结构体变量、配置并编译Linux内核等。