Qualcomm手机开机流程解析
5星 · 超过95%的资源 需积分: 29 49 浏览量
更新于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到操作系统初始化,再到用户界面的展示,每一步都至关重要,确保了手机能够顺利启动并提供稳定的服务。
2023-04-28 上传
2023-05-31 上传
2024-08-27 上传
2023-11-03 上传
2023-08-09 上传
2023-06-02 上传
chris_00008
- 粉丝: 0
- 资源: 1
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍