论文部分内容阅读
Bootloader是嵌入式系统中最先运行和必不可少的程序。Bootloader的作用是初始化硬件设备、建立内存空间映射图,从而使系统的软硬件环境处于一个合适状态,为最终引导操作系统内核和运行用户应用程序提供正确的环境。在不同的嵌入式设备之间Bootloader不能通用,需要针对嵌入式设备的硬件资源和应用需求进行开发或修改。论文分析了Bootloader的主要功能,对比了目前常见几种Bootloader的优缺点。在深入研究Bootloader的原理和启动流程后,设计了Bootloader的移植方案。并对Bootloader开发中使用的交叉编译技术做出了分析,给出了交叉编译工具链的详细制作方法。论文通过分析NAND FLASH的特性和S3C6410的各引导模式、存储映射,设计了S3C6410的引导流程。由于Bootloader直接对硬件进行配置和控制,相当于在嵌入式设备上运行的裸机程序,针对Bootloader程序的特殊性,设计并实现了Bootloader在开发的不同阶段各种有效调试方法。论文通过移植新版本U-Boot-2012.04,提供了使用S3C6410处理器的Tiny6410开发板上的Bootloader完整实现方案。配置和编译了适用于Tiny6410开发板硬件资源的Linux内核。分析了MTD分区的意义和原理,并提出具体的实现方法。解释了U-Boot各引导参数的作用,完成针对Tiny6410开发板的配置工作。最后在各种启动模式下,对移植到Tiny6410开发板上U-Boot的基本命令、网络通信、引导操作系统等功能进行了测试。