Qualcomm手机NandFlash启动解析
需积分: 11 83 浏览量
更新于2024-09-10
1
收藏 148KB DOC 举报
"Qualcomm手机开机全过程大揭密——深入解析Qualcomm平台手机从按下开机键到进入待机界面的启动流程"
Qualcomm手机的开机过程是一个复杂而有序的序列,涉及硬件初始化、软件加载等多个步骤。在了解这一过程之前,我们需要知道Qualcomm平台支持两种启动方式:NorFlash和NandFlash。NorFlash启动方式相对简单,但这里主要讨论的是Amoi采用的NandFlash启动方式,因为它与PC的启动方式更为相似。
当用户按下开机键,系统首先会响应一个时钟中断,这个中断触发AMSS主芯片的Boot Loader从NandFlash的第一个Block(8K)读取Boot代码,并将其复制到内核内存(RAM)的0xFFFF0000地址开始执行。Boot Loader的主要职责是对系统硬件进行初始化,类似PC中的BIOS,负责自检和配置硬件。
Boot Loader执行完毕后,会将整个手机软件包(包括AMSS软件)从NandFlash拷贝到SDRAM(动态随机存取内存)中,这是系统运行的主要内存。随后,控制权转移给AMSS软件的入口点函数`main()`,这个函数位于`mobile.c`文件中。
在`main()`函数中,操作系统(Rex)的初始化工作开始进行,这主要通过调用`rex_init()`来实现。`rex_init()`不仅初始化操作系统所需的数据结构,如定时器链表和任务链表,还会创建三个核心任务:`rex_idle_task`、`rex_dpc_task`和`tmc_task`。
- `rex_idle_task`是空闲任务,当前可能尚未实现任何功能。
- `rex_dpc_task`的具体功能在文档中未详述,可能涉及到低优先级处理或后台任务。
- `tmc_task`的任务也不明确,但通常这类任务可能与通信或系统管理相关。
这些任务的创建标志着操作系统开始准备处理各种并发事件,为后续的用户界面和应用程序运行奠定了基础。随着初始化的继续,系统会逐步启动其他必要的服务和组件,直至最终呈现出待机界面,用户可以开始交互操作。
总结来说,Qualcomm手机的开机流程涵盖了Boot Loader的硬件初始化、操作系统加载、核心任务创建等多个关键步骤。这个过程的每一个环节都是为了确保系统能够稳定、高效地运行,为用户提供流畅的体验。对这个过程的理解有助于开发者进行系统优化和故障排查,特别是在定制初始化工作时,可以作为重要的参考依据。
2017-01-14 上传
2008-11-04 上传
2009-05-08 上传
2018-08-29 上传
点击了解资源详情
点击了解资源详情
Clark094851
- 粉丝: 0
- 资源: 2
最新资源
- tcog-filters:从应用程序中丢弃的漂亮小组件
- Excel模板按月份查询财务报表.zip
- ng4:后台管理系统
- CNN-旅行-新闻-文章-抓取器:用于获取新闻文章内容的网络抓取器
- react-boilerplate:使用ES2018,Sass,Webpack 4和Babel 7的React SPA的样板
- matlab-(含教程)基于EKF扩展卡尔曼滤波器从IMU和GPS数据计算路径定位的matlab仿真
- addonmaker:WOW插件的构建和测试工具
- 【地产资料】XX地产 门店经理职责与定位培训P34.zip
- Excel模板销货清单模板 (1).zip
- JMe:前端javascript库(angularjs框架,UI,模板,工具,数据操作,动画)
- 半导体研究专题一:从三个维度看芯片设计.rar
- 毕业设计&课设--毕业设计校园二手交易平台.zip
- wordpress-plugin:模板
- clinic-management-system:诊所管理系统(全栈),技术栈:前端:react + antd + umi + dva + ts后台:nodejs + eggjs + ts
- PHP项目中使用微信扫码支付(模式二)详解
- Excel模板销货清单模板.zip