Qualcomm手机开机流程解析
5星 · 超过95%的资源 需积分: 29 177 浏览量
更新于2024-10-30
1
收藏 131KB DOC 举报
"高通软件开机流程"
高通手机的开机过程是一个复杂而精细的系统级初始化过程,主要涉及软件和硬件的协同工作。本文重点解析的是基于NandFlash启动方式的流程,因为这种方式与个人电脑的启动过程更为相似,且在高通平台上广泛采用。
当用户按下开机键时,首先触发的是一个时钟中断,这个中断信号通知AMSS(Advanced Mobile System Software,高通的主控芯片)的Boot Loader。Boot Loader是系统启动的第一步,它位于NandFlash的首个Block中,通常为8K大小。Boot Loader的任务是将自身的代码复制到CPU的内核内存(非SDRAM,可以理解为CPU缓存)的特定地址0xFFFF0000处,并开始执行。
Boot Loader的主要工作是对系统硬件进行初始化,类似PC中的BIOS功能,包括内存检测、设备初始化等。完成这些工作后,Boot Loader会将手机软件包(AMSS软件)从NandFlash加载到SDRAM(系统动态随机存取存储器)中,并将控制权交给AMSS软件的入口点函数`main()`。这个函数定义在`mobile.c`文件中。
`main()`函数是操作系统启动的关键点,它调用`rex_init()`来初始化操作系统,即Rex操作系统。Rex_init()的职责主要包括:
1. 初始化操作系统必要的数据结构,如定时器链表、任务链表等。这些数据结构是操作系统核心功能的基础,用于调度和管理任务执行。
2. 创建并启动三个核心任务:`rex_idle_task`、`rex_dpc_task`和`tmc_task`。
- `rex_idle_task`,空闲任务,当无其他任务需要执行时,CPU会运行这个任务,以节省资源。
- `rex_dpc_task`,延迟过程调用任务,用于处理那些不能在中断上下文中执行但必须尽快处理的任务。
- `tmc_task`,可能与通信相关的任务,TMC(可能是Time Management Controller)负责管理时间相关的操作或通信协议栈的执行。
这些任务的创建和初始化完成后,操作系统开始正常运行,进一步加载和初始化其他应用程序和服务,直到最终显示待机界面。整个过程涉及的组件和技术还包括任务调度、内存管理、设备驱动等,都是手机操作系统核心功能的体现。
高通手机的开机流程是一个涉及多层软件和硬件交互的过程,从Boot Loader到操作系统初始化,再到用户界面的展示,每一步都至关重要,确保了手机能够顺利启动并提供稳定的服务。
2018-08-29 上传
2013-04-30 上传
2010-12-14 上传
2022-08-03 上传
2018-08-20 上传
chris_00008
- 粉丝: 0
- 资源: 1
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新