Qualcomm手机——开机过程【大揭密】(中文版)
- 格式:pdf
- 大小:123.64 KB
- 文档页数:8
用户手册法律声明版权所有© 中兴通讯股份有限公司 2015本资料著作权属中兴通讯股份有限公司,未经著作权人书面许可,任何单位或个人不得以任何方式摘录、复制、翻译、使用、影印或拍照。
侵权必究对本资料中的印刷错误及与最新资料不符之处,我们会及时改进。
这些改动不再事先通知,但会编入新版资料中,中兴通讯保留最终解释权。
我们为智能终端设备用户提供自助服务。
请登录中兴通讯官方网站(www. )获取自助服务及支持机型信息。
请以网站信息为准。
免责声明对于不当使用非中兴通讯指定的通讯硬件或软件而导致的损失,以及自定义操作系统更新带来的安全性威胁,中兴通讯不承担任何责任。
尝试自定义操作系统可能导致设备或应用程序无法正常工作。
对于未经授权对软件进行更改造成的故障和损坏,中兴通讯不承担任何责任。
本手册中的图片仅做参考。
商标声明及相关Logo是中兴通讯股份有限公司的注册商标。
Google和Android是Google, Inc的商标。
Bluetooth®是Bluetooth SIG, Inc的注册商标。
Qualcomm® Snapdragon™处理器由Qualcomm Technologies, Inc生产。
Qualcomm和Snapdragon是Qualcomm Incorporated在全球的注册商标。
需授权使用。
microSDHC标志是SD-3C, LLC的商标。
本产品具备Dolby Laboratories. Dolby, Dolby Audio的授权。
双D标志是Dolby Laboratories的注册商标。
本说明书中出现的其他产品名称、公司名称、服务名称的商标及所有权由其各自的所有人拥有。
版本号: R1.0发布日期: 2015-11-25目录了解您的 Spro 2 (5)安装micro-SIM卡 (8)安装microSDHC™卡(非标配) (9)卸载microSDHC卡 (10)充电 (11)开机和关机 (12)重启Spro 2 (12)唤醒Spro 2 (12)操作触摸屏 (13)了解主页 (16)启动和关闭投影仪 (21)调节投影效果 (24)投射Spro 2存储的文件 (25)投射HDMI连接设备的图像 (25)投射USB设备存储的文件 (27)投射移动设备端的图像 (28)使用USB线连接Spro 2和电脑 (30)连接网络摄像头(非标配) (31)连接移动网络 (32)连接Wi-Fi网络 (33)连接蓝牙设备 (33)启动热点 (34)安全须知 (35)中兴通讯产品有害物质含量状态说明表 (42)保修凭证卡 (43)了解您的Spro 2对焦传感器投影镜头触摸屏主页键菜单键电源键主麦克风USB 接口耳机插孔microSDHC 卡槽micro-SIM 卡槽(仅LTE 版)充电插孔HDMI 输入接口辅麦克风返回键音量减小键音量增大键指示灯散热口支架扬声器三脚架插孔投影镜头投影仪可以把屏幕显示内容投射到平面上。
高通刷机教程高通刷机教程声明:线刷只能作为固件升级、降级和修复软件引起的问题,若硬件问题请选择售后维修。
1、刷机存在风险,刷前须慎重。
2、刷机会清空所有数据,请提前前请备份你的个人资料,如通讯录、短信等。
3、手机电池电量30%以上。
4、刷机前请确保你的数据线连接良好,台式机电脑,数据线最好插在电脑后置USB插口。
5、刷机时请确保电脑的正常运行,勿重启、断电等。
6、刷机过程中请勿移动手机,以免数据线松动致使刷机中断。
7、请严格按照教程及工具的说明来操作。
本教程适用于小米,中兴,联想,等手机品牌,CPU品牌是高通的。
小米部分手机需要解锁Bootloader锁的,用此方法刷机,可以跳过官方解锁。
本教程仅供参考,请详细阅读后声明后再进行刷机操作。
以红米3全网通刷机为例:1:解压刷机包里面的工具文件,点击安装小米手机工具包。
在安装这个工具的同时,也会同时把高通驱动文件安装在电脑上面。
2:提示验证驱动,选择始终安装。
3:手机进刷机模式【黑屏模式】方法1:把手机关机,同时按住音量加减键不放,插入数据线连接电脑。
【常用的方法】手机仍然是黑屏无任何显示界面。
方法2:把手机关机,同时按住开机键,音量加减键不放,插入数据线连接电脑。
手机仍然是黑屏无任何显示界面。
特殊:有些手机无法通过这种按键模式进入刷机模式。
需要改装一下数据线。
4:打开电脑设备管理器。
打开设备管理器是查看电脑有没有安装成功驱动,识别手机的重要步骤。
一定不可忽略。
打开方式为:鼠标右键点击桌面的【计算机/我的电脑】图标,弹出的菜单选择【管理/设备管理器】。
5:这个时候看电脑显示的驱动端口,如果出现Qualcomm HS-USB QDloader 9008 (COM8)【后面带的数字8是USB的插口序号,换个插口就不一样了】表示电脑已经通过安装的驱动识别到手机进入到了高通9008的刷机模式。
6:点击电脑左下角的菜单,找到才安装的miflash刷机工具,打开工具。
移动台开机,需要与系统联系,首先要与某一个小区的信号取得时序同步,这种从无联系到时序同步的过程就是移动台的小区搜索。
需要先后经过时隙同步、扰码码组识别和帧同步、扰码识别(小区识别)等一些过程。
占用信道:P-SCH↓->S-SCH↓->P-CPICH↓->P-CCPCH↓手机开机后需要搜索的信息:(1)最强小区;(2)时隙边界;(3)帧边界;(4)主扰码;(5)广播信道的相关广播。
----------------------------------------------------------------------------------------背景知识:在WCDMA系统中,使用下行扰码区分不同的小区(可以复用)。
在下行物理信道上共有8192个扰码,将这8192个码分成512个组,每组有16个码,其中第一个为主扰码(共有512个主扰码),其余15个为辅扰码。
512个组每8个组成一个大组,共有64个大组(主扰码组)。
使用扰码分组是为了提高同步时的速度。
手机开机后寻找当前基站的主扰码时就可以采取分级的方法,先64个大组选1,再8个组选1,这样就能很快知道接入的扇区的主扰码是什么了。
----------------------------------------------------------------------------------------第一步:选择小区和时隙同步手机首先搜索主同步信道(P-SCH)的主同步码(PSC),与信号最强的基站取得时隙同步。
P-SCH在每个时隙的前256个码片时间内发射全网唯一的主同步码,主同步码具有非周期性自相关的特性。
P-SCH无扩频操作、无信道化编码操作,手机可以通过P-SCH判断WCDMA小区,从而实现时隙同步。
第二步:帧同步和确定扰码组接收主同步信道(P-SCH)上的主同步码PSC后,再接收辅同步信道(S-SCH)上的辅同步码(SSC),共有16个,因为一个无线帧只有15个时隙,只用16个中间的15个。
2019年第11期随着社会的发展和科技的进步,电子产品的功能越来越强,相应的电子线路越来越复杂,集成度也越来越高。
手机电路也由早期的模拟电路时代步入了数字电路时代;依赖着技术的进步,伴随着手机的功能的不断完善及发展,手机的电路步入了高度的复杂和集成化。
这就对维修人员的电子线路的知识要求和维修技能的要求越来越高。
手机的元件也由过去的插件元件变为现在的贴片元件,特别是大量的BGA 封装类型元件被使用。
同时使对手机故障电路的测量难度不断的增加,那么有没有一种方法能让我们简单快速的判断出手机不开机故障的故障点呢?1手机的开机原理及工作过程1.1手机的开机条件供电、主时钟、复位信号、维持信号这四种信号是手机能够开机并能保持开机状态的必须信号,如若任意信号缺失则手机不能够正常完成开机工作。
1.2CPU 的工作条件供电、主时钟、复位信号是手机内部的核心元件CPU 的工作条件,CPU 能够正常工作是手机能正常开机的前提条件。
只有上面三种工作条件都具备了,手机的核心元件CPU 才能工作,手机才能有正常开机的可能,任何一个条件不具备CPU 都不能完成正常启动工作,手机也不能正常开机。
1.3开机方式低电平开机:开机时把开机端电平拉低。
高电平开机:开机时把开机端电平拉高。
目前,市面上大多数的手机都是低电平开机方式为主,开机键的损坏也是手机不开机的常见故障之一。
1.4复位信号a.主时钟在送到CPU 后,才能发送复位信号。
b.复位信号是瞬间完成的,通常为低电平有效,在开机的一瞬间工作。
c.电源电路发出的复位信号使逻辑电路清零复位。
复位信号一般采用的是上电复位,只有在手机开机上电的一瞬间才能检测到,这个信号可以在复位电路的电容的非接地端检测到。
1.5手机开机过程原理框图手机开机过程原理如图1所示。
图1手机开机过程原理框图1.6手机开机过程(1)手机电池供电送电源IC 。
手机开机电流与故障分析宋红记(河南经济贸易技师学院,河南新乡453000)摘要:随着手机广泛运用,伴随着人们的使用手机可能出现各种各样的故障问题。
电源表手机主板开机教程
夹主板上的电池触点,在尾插排线接口下有开机点,用镊子一头对准开机点,一头对地可以夹主板上的电池触点。
一头对地其选项有三,分别为开机,关机,Fo恢复到到断电前状态,将它设置为通电即开机,这是目前部分主板才有的功能。
维修电源接到主板的电池座子,正负极不要错,电压设置6v到4v,按开机键就可以启动,主板直接连接电源,主板是不会自动通电启动的,需要短接主板上的POWER SW针脚,才可以让主板通电工作,将电源连接上,即可关闭。
按住开机键后,把数据线的另一个端口接上。
稍等片刻手机自动开机,首先遇到这种情况先连接充电器,有可能是因为没有电导致不能开机。
稍等片刻手机自动开机,摁住开机键不要动,大概十秒以上,可以长按手机右上方的电源键,几秒钟之后就可以开机,手机单板开机触点,是在手机的右侧位上插入系统光盘启动电脑。
进入PE系统,运行DISKGENIUS,重建主引导记录,取出光盘,退出程序重启即可,开机键在右侧边框上,单独一个按键。
智能手机操作说明书本说明书旨在帮助用户熟悉和正确使用智能手机。
请在使用前仔细阅读本手册,并按照说明进行操作。
第一部分:产品概述智能手机是一种集通讯、娱乐、办公等多功能于一身的便携式电子设备。
其具有高性能处理器、高清屏幕、摄像头、音频功能等特点,方便用户进行语音通话、短信发送、上网浏览、拍照录像等操作。
第二部分:基本操作1. 开机与关机长按电源按钮,手机将开机,出现开机画面后即可正常使用。
为了节省电量,建议在不使用时及时关机。
2. 锁屏与解锁点击电源按钮或侧边的指纹识别区域,即可锁定手机屏幕。
要解锁屏幕,需要滑动屏幕上方的解锁图标或输入密码/指纹来解除锁定。
3. 主界面解锁屏幕后,将进入主界面。
主界面上通常会有应用图标,您可以通过触摸这些图标来打开各种应用程序,如电话、信息、相机、日历等。
4. 触摸屏幕操作智能手机的主要操作方式是通过触摸屏幕来实现的。
您可以使用手指滑动、点击、放大/缩小等手势进行操作。
触摸屏幕时要用轻柔的力度,避免过度用力导致屏幕损坏。
第三部分:通信功能1. 电话功能点击电话图标,进入拨号界面。
您可以输入电话号码,然后点击拨号按钮进行电话拨打。
在来电时,屏幕上会显示来电号码,您可以滑动屏幕上的解锁图标进行接听。
还可以通过通讯录来选择联系人进行拨号。
2. 短信功能点击信息图标,进入短信界面。
您可以点击新建短信按钮,输入收件人号码和内容,然后点击发送按钮进行短信发送。
在收到短信时,屏幕上会有通知,您可以点击通知进行查看。
3. 上网功能智能手机支持Wi-Fi和移动数据上网。
您可以在设置中连接到可用的Wi-Fi网络,或者开启移动数据进行上网浏览。
请注意流量消耗和网络安全问题。
第四部分:应用程序使用1. 相机应用点击相机图标,进入相机应用。
您可以通过点击拍照按钮进行拍照,或者点击录像按钮进行录像。
还可以调整相机设置来满足您的拍摄需求。
2. 音乐应用点击音乐图标,进入音乐应用。
您可以浏览音乐库,选择喜欢的音乐进行播放。
1.6 习题⒈GSM手机电路结构一般分为哪几部分?各部分分别起什么作用?答:GSM手机电路一般可分为四个部分——射频部分、逻辑/音频部分、输入/输出接口部分、电源部分,四个部分相互联系,是一个有机的整体。
射频电路部分主要任务有二:一是完成接收信号的下变频,得到模拟基带信号;二是完成发射模拟基带信号的上变频,得到发射高频信号。
逻辑/音频电路主要功能是以中央处理器为中心,完成对话音等数字信号的处理、传输以及对整机工作的管理和控制,它包括音频信号处理(也称基带电路)和系统逻辑控制两个部分。
输入/输出(I/O)接口部分包括模拟接口,数字接口以及人机接口三部分。
模拟接口包括A/D、D/A变换等。
数字接口主要是数字终端适配器。
人机接口有键盘输入、功能翻盖开关输入、话筒输入、液晶显示屏(LCD)输出、听筒输出、振铃输出、手机状态指示灯输出等。
电源电路包括射频部分电源和逻辑部分电源,两者各自独立,但同是手机电池原始提供。
2. GSM手机射频接收电路有几种结构形式?分别画出简要框图。
答:手机接收机一般有四种基本的电路结构:一种是超外差一次变频接收电路,另一种是超外差二次变频接收电路,第三种是低中频接收电路结构,第四种是直接变频线性接收电路。
超外差一次变频接收电路:超外差二次变频接收电路:低中频接收电路结构:直接变频线性接收电路:3.GSM手机射频发射电路有几种结构形式?分别画出简要框图。
答:手机的发射机一般有三种电路结构:带发射变频模块的发射电路、带发射上变频器的发射电路、直接变频发射电路。
带发射变频模块的发射电路:带发射上变频器的发射电路:直接变频发射电路:4.简述超外差二次变频接收机的工作流程。
答:天线感应到的无线蜂窝信号经天线电路和射频滤波器进入接收机电路。
接收到的信号首先由低噪声放大器进行放大,放大后的信号再经射频滤波后被送到第一混频器。
在第一混频器中,射频信号与接收VCO信号进行混频,得到接收第一中频信号。
Qualcomm手机开机全过程大揭密摘要:本文试图通过代码来深入剖析Qualcomm手机开机的整个过程,即从按下开机键一直到出现待机界面,Qualcomm的手机软件在整个流程中究竟完成了哪些工作。
本文的主要目标是理清手机的初始化流程,并为今后Amoi定做初始化工作提供一个参考。
关键字:开机、Rex、TMC、ui_task、CoreApp一、开机的简要流程分析Qualcomm的平台软件支持两种启动方式:一种是Nor Flash启动方式,另外一种就是Nand Flash启动方式。
Nor Flash启动方式就相当于硬件直接找到一个入口点开始执行代码,相比较而言会比较简单,且Amoi没有采用此种方式,所以本文对于这种方式不做详细分析。
另外一种就是Nand Flash启动方式,这种方式和PC的启动方式比较相像,也是Amoi采用的Boot方式,下面将详细分析在此方式下面的开机过程。
按下开机键之后,将产生一个时钟中断,从而通知AMSS主芯片的Boot Load 硬件去将放置于Nand Flash上面的第一个Block(8K)里面的Boot代码Copy 到内核内存(RAM,这个内存应该是CPU自带的内存,同后面提到的SDRAM有一定区别,可以把它当作CPU的Cache)的0xFFFF0000地址,并开始执行Boot 代码。
Boot的主要任务是完成整个系统的硬件初始化工作(类似于PC上面的BIOS所完成的硬件自检工作,至于Boot的详细工作机制,后文会有详细描述)。
Boot所完成的工作里面,最重要的一件事就是会将整个手机软件代码(AMSS软件包)拷贝到SDRAM中,并最后将控制权交给AMSS软件。
说白了,就是Boot 执行完成之后,代码的执行点将由Boot跳转到AMSS软件的的入口点函数main().(此函数在mobile.c里实现)。
代码运行到了Main()之后,在这个函数里面将完成操作系统(rex)的初始化工作,其实现方法是调用rex_init()。
Rex_init()完成的工作很简单:1.完成操作系统必要的一些数据结构(timer链表、任务链表等))的初始化之外;2.接下来,它创建了三个任务,分别是:rex_idle_task、rex_dpc_task和tmc_task。
Idle任务没什么好解释的,目前这个任务为空,什么也没做,dpc_task目前不知道是做什么的,暂时可以不用管。
前面的这两个任务都属于操作系统层面的,由操作系统来维护,和手机软件关系不大。
哪一个和手机软件关系大呢?答案是:tmc_task。
大家可以把这个当作操作系统的入口(主)任务,也可以把它当作整个手机软件的入口任务。
即AMSS软件里的所有其它任务的创建和维护就是由这个tmc_task来完成的。
到此为止,整个AMSS软件还并没有跑起来,只是跑到了tmc_task里面了。
在tmc_task里面,会调用tmc_init()来完成整个AMSS软件包的初始化工作,其中最重要的一项工作就是调用tmc_define_tasks()将AMSS软件包所有需要的任务都创建起来了。
比如说slee_task、dog_task、cm_task、wms_task、ui_task 等。
这些任务,一般不需要直接和AL层软件打交道,但请大家记住,手机上所有功能的实现最根本点就是由这些服务组件(Service Task)来完成的。
将来大家跟踪一个具体的功能模块时,比如说通话模块,如果需要,可以再去深入研究它的具体实现。
好了,到现在为止,所有的AMSS核心软件就全部跑起来了(手机的功能模块,在软件方面就体现为OS层面的一个任务)。
但现在大家还根本看不到Brew 和AEE的影子。
呵呵,各位不要急。
到了这个层面之后,我想稍微多说几句。
最早的Qualcomm平台,比如说5xxx系列,是根本没有Brew的,那个时候的AL(Application Layer)层软件开发,是直接调用底层Service task所提供的API 来完成相应的工作的。
从这种角度来看的话,显然那时的开发是比较郁闷和难度较高的。
不过,到了65xx之后,Qualcomm平台引入了Brew,手机开发商就没必要去从这么底层(Service API)的层面进行手机开发了,他们完全可以基于Brew来实现一台手机的所有功能(Qualcomm给我们的参考代码,就是全Brew 平台的)。
Brew的运行环境AEE是如何跑起来的呢?关键在于ui_task(),由于ui_task 和我们手机开发的关系非常密切,其地位也相当重要,所以,后文我将单独对它进行一个深入的研究与分析。
到目前为止,大家只需要知道ui_task将AEE加载起来了,并且,它起到了一个中间层的作用,即所有AMSS底层服务组件的消息,都将经由ui_task而转到AEE,并最终转到具体的App(Applet)的执行代码里面(HandleEvent())。
注意:1.上述的开机过程,在每一次按开机键都需要走一遍,即关机之后,整个系统的所有功能都将消失,而不像有些手机,看起来是关了机,但实际上底层还是有一些软件模块在跑。
为什么可以肯定地说上述开机过程每次都必须走一遍,原因很简单,因为我们的平台软件是基于Nand Flash启动的,所有的代码都需要Copy到SDRAM才能运行,而关机断电之后,SDRAM里的东东会全部丢失,所以,毫无疑问,上述的过程必须每次开机都执行;2.关机的过程相对比较简单,系统检测到关机中断之后,将调用tmc_powerdown_handler()来完成关机动作,它将把所有AMSS的任务都Stop 掉,并最后调用rex_exit()退出Rex,从而完成整个关机动作。
3.显然,关机动作前,如果有必要,每一个任务必须将它希望保存的信息保存到Flash上面,以便下次开机时可以得到这些信息;开机流程简图说明:1.Tmc是操作系统层面和AMSS软件关系最密切的一个任务,不过需要OEM 商在此处修改的地方应该不多;2.ui_task是在操作系统层面,OEM商需要重点研究清楚的一个任务,它是连接底层Task和上层AL的一个中间层,有可能需要加入OEM商的操作流程;3.CoreApp是在Brew层面的一个AL层的入口Applet,它其着管理整个上层AL层软件的作用,根据产品需求,这个App需要定做;4.AEE是整个上层App的运行环境,目前Qualcomm没有公开它的源码,但它的运行机制,Amoi需要好好研究清楚,我将在另外一篇《Qualcomm平台AEE 运行机制深入分析与研究》中探讨它的运行机理和调度机制,大家有兴趣可以参考此文;二、Boot代码深入分析Boot代码大部分是用汇编语言写的,也有小部分,可能需要由OEM商修改,所以用C语言来写。
另外,Boot代码属于Driver范围,所以大家可以在drivers/boot目录里面找到相应的代码。
Boot的代码组织得非常模块化,整个boot的入口点是在Boot_function_table.s里面,这个汇编代码里面实际上是将Boot需要完成的任务封装成了不同的函数,由不同的函数来完成相应的工作,接下来,我将深入分析这些函数所完成的工作,如下所述。
a)mmu_enable_instruction_cache;这个只有在Nand启动模式时才需要,打开ARM的指令Cache.b)boot_hw_ctrl_init此函数主要是完成两条总线(EBI1、EBI2)控制器的初始化,这个函数执行完了之后,系统就可以知道两条总线上连接了哪些设备,同时也可以找得到这些设备,不过,至于单个设备自身的初始化,则不在这里。
[注]这个函数很重要,OEM商如果需要加新的设备到系统中(挂在两条总线上),则需要定做此模块,目前阶段主要是内存。
另外,如前文所述,这个函数是由C 语言来写的,主要目的就是为了方便OEM商定做。
内存设备的修改,可以在这个模块里找到相应的数据结构,相对还是比较简单的。
c)boot_hw_tlmm_init1.晶振时钟的初始化;2.中断表的初始化;3.GPIO的初始化;4.Msm本身的驱动,除了EBI2;d)boot_rom_test这个函数非常简单,只是做一个很简单的Rom检查.(比对两个标志位来检查,并没有一块一块地去检查)。
e)boot_ram_testRam自检,具体算法其实也很简单,就是读、写内存以判断是否成功。
f)boot_ram_init1.拷贝手机代码从Nand Flash到SDRAM。
a.Image__BB_RAM__Base:Core Code;b.Image__APP_RAM__Base:App Code;[注]上述动作是分块进行的,原因是因为Qualcomm支持分块Boot Load.2.将Image__ZI_REGION__ZI区域初始化为0;3.初始化OEM要求的动态Heap;4.至于代码段里的数据初始化,直接在Image里就完成了(编译器完成);g)boot_stack_initializeARM栈初始化,主要是为分块代码加载而预留的.h)boot_cache_mmu_initARM Mmu初始化注意:到此为止,整个Boot的工作就告完结了,那么,它又是如何跳到AMSS 的main入口点呢?原因很简单,ARM编译器在链接的时候会自动做出一个__rt_entry(),由此函数来完成ARM库函数的初始化,并最后将代码执行点跳转到main()。
而__rt_entry()会在boot_reset_handler.s里调用,具体细节,大家可以不用太过关心,只需要明白,Boot跑完之后,手机软件就跑到了main里就Ok了。
三.Ui_task的深入分析从大的方向来讲,ui_task只完成两件事,一件是必要的初始化工作(这个也是我们所关心的,即ui_task到底完成了哪些工作);另外一件事就是各种信号量的事件处理,这也是我们比较关心的,即ui_task到底将哪些事件转发给了上层App。
搞清楚了上述两点,我们也就能大致把ui_task的承上启下的工作机理研究清楚。
1.ui_Init;初始化过程中,ui_task主要完成了如下几件事。
a)创建一个用于Kick Watchdog的定时器,这样WatchDog能够及时得到Kick,假如今后发现手机在ui_task里面自动重启,很有可能就是这个定时器的Timeout设置得过短而造成的;b)注册通话相关的回调,主要是和紧急呼叫相关;c)电话本初始化,之所以要进行这个工作,主要是加快开机之后AL层软件操作电话本的速度,但这样将有可能导致开机速度过慢,如果开机速度过慢,可以考虑进入待机界面之后,在后台开一个task去完成这项工作;d)初始化Sound设备;e)向底层服务任务wms_task注册wms回调,这个回调是在IWms组件里实现的。