Qualcomm手机NandFlash启动解析

5星 · 超过95%的资源 需积分: 29 13 下载量 201 浏览量 更新于2024-10-05 收藏 131KB DOC 举报
"高通brew手机开机全过程大揭密" 本文主要探讨了高通BREW(Binary Runtime Environment for Wireless)手机的开机流程,特别是在NandFlash启动方式下的详细步骤。高通平台提供了两种启动方式,但重点在于NandFlash启动方式,因为这种方式与PC的启动更为相似,且被Amoi手机采用。 当用户按下开机键,首先会触发一个时钟中断,该中断通知AMSS(Advanced Mobile System Software)主芯片的Boot Loader。Boot Loader随后从NandFlash的第一个Block(8KB)中加载Boot代码至内核内存(CPU自带的RAM,不同于后续提到的SDRAM)的0xFFFF0000地址,并开始执行。Boot Loader的主要任务是对系统硬件进行初始化,类似PC中的BIOS功能,包括将整个手机软件代码复制到SDRAM。 一旦Boot Loader完成其工作,它会将控制权交给了AMSS软件的入口点函数`main()`,这个函数位于`mobile.c`文件中。`main()`函数执行时,操作系统(Rex)的初始化开始,通过调用`rex_init()`函数来实现。`rex_init()`负责初始化操作系统所需的数据结构,如定时器链表和任务链表,并创建三个核心任务: 1. `rex_idle_task`:空闲任务,当没有其他任务需要执行时,CPU会运行这个任务,通常用于节能。 2. `rex_dpc_task`:延迟过程调用任务,用于处理不能立即处理的中断或事件。 3. `tmc_task`:时间管理器任务,负责调度和管理其他任务的执行。 这些任务的创建是操作系统正常运行的基础,它们协同工作以确保系统的稳定性和高效性。Rex操作系统在手机开机过程中扮演了关键角色,负责管理和调度各个任务,保证手机的各项功能得以正常运作,直至最终出现待机界面。 高通BREW手机的开机过程是一个复杂而有序的系统初始化过程,涉及硬件检测、软件加载以及操作系统和核心任务的启动。这一过程的详细解析对于理解手机软件工作原理和优化开机性能具有重要意义,也为Amoi和其他制造商定制开机流程提供了参考。