高通平台NandFlash启动与Rex操作系统解析
需积分: 10 109 浏览量
更新于2024-10-16
收藏 45KB DOC 举报
"高通实时操作系统Rex启动详解"
在深入了解高通实时操作系统Rex的启动过程之前,首先需要理解其所在的硬件环境。高通平台提供了两种启动方式,分别是NorFlash和NandFlash启动。NorFlash启动方式由于相对简单且在Amoi设备中未采用,故在此不做详细讨论。主要关注的是NandFlash启动方式,这种方式与PC的启动流程类似,是Amoi设备的实际启动方式。
当按下开机键,系统通过时钟中断触发BootLoader硬件。BootLoader位于NandFlash的第一个Block(8KB),被复制到内核内存(RAM,非后续提到的SDRAM)的0xFFFF0000地址并开始执行。BootLoader的主要任务是对系统硬件进行初始化,类似PC中的BIOS功能,包括对各种硬件设备的检测和配置。
BootLoader的一个关键操作是将整个手机软件代码(AMSS软件包)从NandFlash拷贝到系统动态随机存取内存(SDRAM)中。一旦硬件初始化完成,BootLoader会将控制权交给AMSS软件的入口点函数`main()`。这个`main()`函数位于`mobile.c`文件中,标志着操作系统接管执行流程的开始。
在`main()`函数内部,操作系统Rex的初始化工作通过调用`rex_init()`函数进行。`rex_init()`主要负责初始化操作系统所需的数据结构,如定时器链表和任务链表。同时,它还会创建三个关键任务:
1. `rex_idle_task`:空闲任务,目前未实现任何功能。
2. `rex_dpc_task`:其具体功能未知,暂时可以忽略。
3. `tmc_task`:这是一个重要的任务,可视为操作系统的核心任务,也是手机软件的主要入口点。`tmc_task`负责创建和管理AMSS软件中的其他所有任务。
至此,AMSS软件的执行流程已由`tmc_task`接手,开始执行手机软件的各种功能和服务。这个过程展示了Rex操作系统如何在高通平台上启动并运行,以及如何管理和调度任务,确保设备的正常运行。
2009-08-25 上传
2009-12-30 上传
2019-03-01 上传
2012-02-27 上传
2021-12-25 上传
2021-08-09 上传
194 浏览量
2011-01-06 上传
2009-06-19 上传
lwj_dxy
- 粉丝: 0
- 资源: 1
最新资源
- 【地产资料】XX地产 店长管理核心大纲P39.zip
- JavaEE7+Spring4 + hibernate5企业级数据校验
- ECOR1042-Project
- HTML5 Canvas星星笑脸动画.rar
- ant-pro-ui:桐乡市系统安全监管系统
- Excel模板材料存量计划表.zip
- 2014-2020年扬州大学353卫生综合考研真题
- LeapMotion-Foot-Gesture-Recognition:使用 LeapMotion 跟踪和学习基于脚的交互的库
- sample_app
- rust-spice:可在Rust上使用的NASANAIF Spice工具包
- appblog
- Time2Vec-PyTorch:复制纸张
- matlab-(含教程)基于FMM+Criminisi算法彩色图像修复matlab仿真
- Excel模板销售清单模板.zip
- 毕业设计&课设--毕业设计-销售管理系统.zip
- 参考-数值分析.zip