论文部分内容阅读
近年来,随着移动互联网的快速发展,多模智能手机受到人们越来越多的关注。在众多的智能手机操作系统中,Android凭借其美观的界面,开放的源码,系统的稳定性和响应的迅速性受到消费者的青睐。目前智能手机开机的速度普遍比较慢,当操作系统进入待机状态供用户使用和操作时,不仅需要大量的硬件资源,而且用户体验相对较差,开发智能手机系统的引导加载(Bootloader)程序是嵌入式系统开发中的一个重要环节,它与硬件平台和处理器的体系结构密切相关,因此对Bootloader的研究和实现,以及对智能手机启动速度的优化具有一定的现实意义和经济效益。
本文首先针对ARM11的体系架构和C6310微处理器的硬件平台,选择LittleKernel(LK)作为该平台的Bootloader进行移植和开发,对LK的启动阶段、操作模式、镜像文件地址划分和关键程序代码等进行详细的分析和设计,并对LK的刷屏、开机控制等功能进行了扩展,对其实现原理和控制流程进行详细的论述,总结出LK功能扩展的一种设计方案。
其次,针对C6310 Android平台使用的Nand Flash存储器的特点,设计了LK系统所需的Nand Flash相关硬件设备的驱动程序,使其具有读写、擦除和软件升级等基本功能。并针对Nand Flash的读写速度,提出了一种坏块管理策略以减少坏块处理功耗和节约坏块表存储空间,利用并行的硬件ECC纠错机制,提高NandFlash的读写速度。
最后,详细分析了Android启动流程,利用系统启动时间分析工具,跟踪分析了系统各个阶段的启动时间,确定启动过程的瓶颈环节,提出相应的优化解决方案,包括内核优化、init服务中解析文件过程的优化、服务启动流程优化和应用程序启动优化等方案。通过实验分析,在一定程度上提高了Android系统启动速度。
通过测试表明,本课题研究的Bootloader的不仅具有引导加载内核的基本功能,而且具有较高的可扩展性,同时优化了Android系统启动的速度,提升了的客户的使用体验。本课题研究成果已经应用于TD-SCDMA增强型多媒体C6310Android智能手机终端中,在提高产品研发效率和市场竞争力方面,被证明有很高的应用价值。