Qualcomm手机开机流程解析

需积分: 29 4 下载量 137 浏览量 更新于2024-09-14 收藏 131KB DOC 举报
"这篇文章主要探讨了高通手机的开机过程,包括从按下开机键到出现待机界面的详细步骤和硬件工作原理。高通平台支持NorFlash和NandFlash两种启动方式,文中主要分析了与PC启动类似的NandFlash启动方式。在按下开机键后,BootLoader从NandFlash中加载第一块Boot代码到内核内存执行,其主要任务是硬件初始化,并将整个手机软件拷贝到SDRAM,最后将控制权交给AMSS软件。在AMSS软件的main()函数中,操作系统Rex被初始化,创建了三个核心任务:idle_task、dpc_task和tmc_task。" 在高通手机的开机过程中,首先区分了两种启动方式,NorFlash启动和NandFlash启动。NorFlash启动方式较为简单,但文章并未深入分析,而是重点讲解了NandFlash启动方式。当开机键被按下,产生时钟中断,BootLoader被激活,从NandFlash的第一个Block(8K)读取Boot代码并将其复制到内核内存(非SDRAM)的特定地址开始执行。BootLoader的角色类似PC中的BIOS,负责硬件初始化,包括检测和配置各种芯片、外设,并将整个手机软件包加载到系统动态随机存取内存(SDRAM)。 一旦BootLoader完成其工作,它将控制权传递给AMSS软件,AMSS软件的入口点是main()函数。在main()函数内部,操作系统Rex的初始化开始,通过调用rex_init()函数进行。Rex_init()不仅初始化操作系统所需的数据结构,如定时器链表和任务链表,还会创建三个关键任务: 1. `rex_idle_task`:空闲任务,当无其他任务可执行时,CPU将执行此任务,通常用于节能和资源管理。 2. `rex_dpc_task`:延迟过程调用任务,处理低优先级的异步事件。 3. `tmc_task`:可能与通信和调制解调器相关的任务,具体功能文中未详细说明。 这些任务是操作系统运行的基础,确保了系统能够有效地调度任务、处理输入输出和维持系统的稳定运行。随着这些核心任务的创建和初始化,手机进入更高级别的软件运行阶段,直至用户看到待机界面。 高通手机的开机过程是一个复杂而有序的硬件初始化和软件加载的过程,涉及到BootLoader、操作系统Rex以及一系列关键任务的创建,确保了手机从硬件层面到软件层面的全面启动和运行。这个过程的了解对于设备的调试、优化和定制有着重要的参考价值。