论文部分内容阅读
近几年来,随着智能科技和网络通信技术的迅速发展,计算机技术迈入了后PC时代,人们对科技产品的功能、人性化、智能化提出了更高的要求,3C产品(计算机和通信与消费品结合)也通过Internet悄然走进人们的生活。嵌入式系统作为后PC时代的技术驱动力量,经过几年的快速发展,已被广泛应用于工业、医疗、电子、网络通信和航空航天等各个领域。不同于通用计算机,嵌入式系统作为一个专用性计算机系统,其软硬件具有良好的可裁剪和可扩展性。尤其对于自行设计的开发板,存储器、网卡的型号,乃至更多芯片或设备地址不相同,都需要对其软件系统进行修改,否则,系统将无法正常工作。本文选用当前最主流的ARM硬件平台和嵌入式Linux软件操作系统作为研究对象,对ARM处理器的特点以及Linux操作系统的组成进行详细的分析和研究。首先阐释BootLoader概念、功能以及重要性,详细的分析其框架组成和启动流程。并以U-Boot为重点,给出整个启动流程和每一部分代码的功能和所在位置,总结和归纳移植过程中可能涉及到的文件和参数修改,并详细给出具体的移植步骤。对引导代码是如何调用内核、给内核传递启动参数、内核中与ARM硬件平台相关的部分进行逐一详细的分析,接着本文对Linux操作系统的内核配置界面生成规则进行分析说明,详细分析内核编译机制和驱动对设备的识别过程,并详细分析Nand Flash驱动的架构组成及相关的几个重要的数据结构和调用关系。然后以友坚UT-S3C6410为实验性平台,进行了U-Boot2010版本和Linux内核3.5版本的移植测试。最终,针对实验室开发的一款以tiny210v2为核心的开发平台进行了U-Boot新版本(2013)和新版本内核(3.12)的移植,并对涉及的设备进行了驱动的移植,主要包括Nand Flash、DM9000网卡以及LCD驱动的移植。