Qualcomm手机NandFlash启动解析

4星 · 超过85%的资源 需积分: 29 87 下载量 159 浏览量 更新于2024-12-28 收藏 131KB DOC 举报
"Qualcomm手机开机流程详解" Qualcomm手机的开机流程主要集中在高通BREW(Broadband Wireless Entertainment)平台上,这是一个专为移动设备设计的操作系统。本文将深入解析使用NandFlash启动方式的Qualcomm手机从按下开机键直至显示待机界面的整个过程。 1. 开机流程概述 当开机键被按下,一个时钟中断触发AMSS(Associated Mobile System Software)主芯片的Boot Loader。Boot Loader从NandFlash的第一个Block读取Boot代码,将其复制到内核内存(非SDRAM的CPU内置RAM)的0xFFFF0000地址并开始执行。此阶段类似于PC的BIOS,负责硬件初始化,包括加载整个手机软件代码到SDRAM。 2. Boot Loader的作用 Boot Loader的主要任务包括: - 初始化硬件环境,如CPU、内存、外设等。 - 将AMSS软件包从NandFlash拷贝到SDRAM中。 - 将控制权传递给AMSS软件的入口点函数`main()`。 3. AMSS软件的`main()`函数 进入`main()`函数后,操作系统Rex开始初始化,通过调用`rex_init()`: - 初始化操作系统必要的数据结构,如定时器链表、任务链表等。 - 创建核心任务: - `rex_idle_task`:空闲任务,主要处理系统空闲时的情况。 - `rex_dpc_task`:延迟过程调用任务,用于处理不能立即处理但必须在某个时间点进行的事件。 - `tmc_task`:传输管理控制器任务,负责通信相关的处理。 4. Rex操作系统启动 Rex是Qualcomm平台上的嵌入式操作系统,它的启动过程中还会创建其他任务,如UI任务`ui_task`,这是用户界面的后台任务,负责处理用户交互和界面更新。Core App也是在这个阶段开始执行,它是手机的核心应用程序,包括电话功能、短消息服务、联系人管理等。 5. 后续流程 随着Rex操作系统和Core App的启动,系统开始加载必要的服务和应用,如网络连接、蓝牙、GPS等。同时,系统会持续初始化硬件模块,如显示屏、触摸屏、音频等。一旦所有基本服务就绪,手机将显示待机界面,至此,开机流程结束,用户可以开始正常使用手机。 总结,Qualcomm手机开机流程是一个复杂而有序的过程,涉及到Boot Loader、硬件初始化、操作系统启动、核心任务创建以及用户界面的加载。这个过程确保了手机在开机后能正常运行各种功能和服务。了解这个流程对开发者来说至关重要,有助于理解和优化手机的启动性能和用户体验。