Qualcomm手机NandFlash启动解析:从开机到待机

需积分: 29 1 下载量 61 浏览量 更新于2024-10-10 收藏 131KB DOC 举报
"本文详细解析了基于BREW的Qualcomm手机的开机过程,主要关注NandFlash启动方式。文章深入探讨了从按下开机键到显示待机界面期间,手机软件所进行的各种初始化工作,包括Boot加载、硬件初始化、操作系统启动及核心应用程序的运行。" 在Qualcomm的手机系统中,开机过程分为NorFlash启动和NandFlash启动两种方式。NorFlash启动较为简单,不在此文中详细讨论。NandFlash启动方式类似于PC的启动,是Amoi手机采用的方法。当按下开机键,一个时钟中断触发BootLoader从NandFlash读取第一个Block的Boot代码,将其复制到内核内存(非SDRAM的CPU自带内存)的特定地址并开始执行。 BootLoader的主要职责是进行硬件初始化,这相当于PC中的BIOS功能,包括检测和配置各种硬件组件。其关键步骤是将整个AMSS软件包从NandFlash拷贝到系统动态随机存取内存(SDRAM)中,并将执行控制权传递给AMSS软件的入口点函数`main()`。`main()`函数进一步负责启动操作系统——Rex。 Rex的初始化通过调用`rex_init()`函数完成,该函数主要工作有两部分:一是建立操作系统所需的数据结构,如定时器链表和任务链表;二是创建三个核心任务,分别是: 1. `rex_idle_task`:空闲任务,通常是操作系统在无其他任务可执行时进入的循环状态。 2. `rex_dpc_task`:延迟过程调用任务,用于处理非实时但需要在适当时间执行的任务。 3. `tmc_task`:可能与通信相关的任务,TMC可能是Transport Management Controller的缩写,负责管理通信协议和数据传输。 完成这些任务的创建后,手机操作系统开始正常运行,准备执行用户应用程序或进入待机界面。这个过程展示了BREW手机在开机过程中如何逐步构建操作系统环境并确保所有硬件和服务准备就绪,为用户提供稳定的操作体验。