论文部分内容阅读
嵌入式系统发展到今天,应用越来越复杂,功能越来越强大,这就使得我们在嵌入式开发中必须加入对操作系统的支持,由此,产生了Bootloader的应用。作为嵌入式系统中的启动模块,Bootloader的作用就是引导和加载操作系统内核镜像。Bootloader的设计与移植工作已经成为嵌入式系统开发中的重要环节。
在实际的嵌入式系统开发项目中,人们经常选择移植通用Bootloader,例如U-Boot到自己的目标板。U-Boot虽然支持多种嵌入式操作系统和处理器架构,功能设置高度灵活,设备驱动丰富,但U-Boot代码组织结构过于庞大,启动流程机理和文件间的依赖关系复杂,这使得采用U-Boot进行Bootloader的开发往往会不得要领;另一方面,嵌入式系统是资源受限的,为了更好的适应市场,嵌入式产品的开发极其重视成本。以U-Boot-1.1.4来说,其源代码大小就有38.4M,移植后生成的可执行bin文件一般也要500K以上,这对于宝贵的Flash资源来说无疑是种浪费。
论文以ARM内核处理器应用为切入点,设计了一种小型ARMBootloader-MicroBootloader。在理论上,通过对Bootloader的分析,总结了其主要功能、启动过程,提出了Bootloader设计的典型框架,并按照这一典型框架对MicroBootloader进行了总体设计。在实现上,采用模块化设计原则组织源文件,使得整个MicroBootloader组织结构清晰简洁,便于维护与扩展,方便针对不同硬件平台的移植进行修改。
论文的创新点在于做到了代码量大小与功能的平衡。整个文件组织只有37个文件,代码总计为208K,生成的可执行bin文件仅35K。通过实验验证,MicroBootloader完全能够完成Bootloader的基本功能,其扩展功能也能实现下载操作系统镜像,并让其在目标板上成功运行,具有一定的现实意义和后续应用开发价值。