1、高通平台android开发总结
11 搭建高通平台环境开发环境
在高通开发板上烧录文件系统
建立高通平台开发环境
高通平台,android和 modem 编译流程分析
高通平台 7620 启动流程分析
qcril 流程分析,设置sim卡锁
python scons 语法学习
Python 语言之 scons 工具流程分析:
12 搭建高通平台环境开发环境
高通android智能平台概述
选择合适的源代码以及工具
建立 Android 开发环境(部分略)
建立 modem 开发环境
121 高通android智能平台概述
高通 7230 android 智能手机解决方案的软件包括两个部分
1 以linux 操作系统为基础的 android 系统
2 以 L4,REX为基础的 Modem 部分
在高通7系列的架构中,一个IC内部集成有两个ARM处理器,一个ARM9(或者arm11),专门负责处理通信协议,射频以及GPIO等,软件架构采用 AMSS, 另外一个是ARM11,用来处理多媒体,上层应用,以及其他的一些任务,运行的系统是 android 系统,这两个处理器之间通过共享内存的硬件方式来进行通信。
1211 什么是L4,REX,BREW,AMSS以及相互之间的关系
L4是一组计算机程序,是最初由Jochen Liedtke设计的微内核构架的操作系统内核,现在已经形成一个微内核家族。L4这个微内核系统由于其出色的性能和很小的体积而开始被计算机工业所认知,被移植到了许多不同的硬件构架上。高通的 L4 提供了操作系统最基本的操作,是买别人的。
早期的操作系统绝大多数是 Monolithic Kernel, 意思是整个操作系统 - 包括Scheduling (调度), File system (文件系统), Networking (网络), Device driver (设备驱动程序), Memory management (存储管理), Paging(存储页面管理) - 都在内核中完成一直到现在广泛应用的操作系统,如UNIX,Linux,和Windows还大都是monolithic kernel操作系统但随着操作系统变得越来越复杂(现代操作系统的内核有一两百万行C程序是很常见的事情),把所有这些功能都放在内核中使设计难度迅速增加
微内核是一个与Monolithic Kernel相反的设计理念它的目的是使内核缩到最小,把所有可能的功能模块移出内核理想情况下,内核中仅留下Address Space Support(地址空间支持),IPC (Inter-Process Communication,进程间通讯),和Scheduling(调度),其他功能模块做为用户进程运行。
REX 是在 L4 之上封装的服务,是一个抢占式,多任务的RTOS,所有的任务都以task的形式存在,REX提供包括任务创建,同步,互斥,计时器,中断控制等功能的API,这里的task实际上就是我们的线程,每个 task对应着一个线程。REX维护一个task list(双向链表),始终运行高优先级的task。products里面所有的服务包括3g协议栈等都是以task的形式跑在rex之上的。
而Brew的话是运行的环境,跟Java 有点儿类似,相当于是一个虚拟机。
AMSS――高级的移动用户软件(Advanced Mobile Subscriber Software)技术,是一种新的软件架构,是对原来软件架构 DMSS 的升级。 AMSS源代码实际上是QC BREW(Binary Runtime Environment For Wireless)平台的的底层部分,去掉了为应用程序提供接口的AEE(application execution environment)部分,高通在Dual Proc芯片上的其他平台基本上都是采用的这样的架构。
高通64位处理器有骁龙615、骁龙810、骁龙410等。\x0d\ 基本简介:\x0d\ 1、骁龙615是八核心的处理器——全球第一款八核心64位处理器,也是高通的第一款八核心处理器。高通骁龙615采用Cortex-A53架构,其中四个核心工作频率为17GHz,另外四个核心工作频率只有1GHz。目前业界大多数的八核芯片都是采用高功耗核心和低功耗核心的混合设计,只有来自联发科的八核芯片每个核心架构都相同,并且工作频率都相同。另外,骁龙615还采用64位设计,这在理论上将允许设备访问的内存超过4 GB。当然在实践中,它需要操作系统充分利用这个优势,64位体系结构也将自然提升SoC可以处理的数据带宽和吞吐量。\x0d\ 2、骁龙810是一款八核处理器,采用的是4+4的大小核架构,由4颗Cortex-A57核心和4颗Cortex-A53组成,其中,负责高强度运算任务的A57核心相比目前的A15核心性能提升了50%,至于功耗较低的另4颗Cortex-A53则主要在处理一些日常应用时发挥作用时。此外,这款处理器还使用了Adreno 430 GPU,相比骁龙805所搭载的Adreno 420 GPU有30%的性能提升,而能耗则降低20%。
高通MSM8916这款64位处理器,该处理器隶属于骁龙410平台,高通骁龙410MSM8916属于目前的中低端入门级别,主要特色是使用64位架构 从高通CPU对比,上就可以清晰的看到,高通骁龙410是一颗定位中低端的产品,虽然不像骁龙600、800那样来的高端,但这款芯片同样有不少特色。除了是使用64位架构外,它还直接使用了Cortex-A53核心指令集,而这在此前的高通32位芯片中并不常见。 高通这些年一直都是通过ARM指令集授权,然后自行设计处理器架构,例如早期的Scorpion和目前的Krait架构,而骁龙410MSM8916则直接使用了A53,具体原因我们无从得知,但想必这是高通为了加速扩大64位平台而推进的短期战略,但即便如此它仍然具备不错的实力 首先从工艺上看,这款处理器采用台积电28nmLP工艺制造,四核心主频12GHz起步,最高可能达到14GHz,此外内存支持单通道64-bitLPDDR2/3,视频编码支持H265,此外还整合MSM9x25基带(搭配收发前端RF360),所以网络制式方面支持LTECat4150Mbps(可选载波聚合)、DC-HSPA+、CDMA、TD-SCDMA,无线网络则支持Wi-Fi80211ac、蓝牙41,存储接口标准eMMC45等。图形核心则使用Adreno306,相比于骁龙400系列所使用的Adreno305有一定提升,基本上可以看成是后者的微提升版,包括更高的处理频率等细节方面,不过依旧是属于高通系列的中低端,根据我们此前对使用同处理器的华为G7的评测中可以得知,Adreno306GPU的性能仅是够用,玩3D大型游戏的体验并不算特别突出。而相对而言,高通骁龙615是Cortex-A53架构的八核处理器,其中四个核心工作频率为17GHz,另外四个核心工作频率只有1GHz,同样是28nmHPM制程工艺。GPU部分则是封装在一起的Adreno405,其最高能够支持2560×1600分辨率屏幕。相机传感器方面来说,能够处理最高2100万像素。视频播放能力上而言,处理60fps的1080p分辨率视频也没问题的,网络方面则是能够实现4G网络全网通。高通骁龙615性能要比高通MSM8916好一点。
如果此设备发布时就已包含Bootloader锁定和帐号锁,那么通过9008刷机不会对现有Bootloader锁定和帐号锁有任何影响。
如果设备在发布时未有Bootloader锁定或者帐号锁,通过此方法是可以强刷到不含锁定的版本。
但根据HTC之前的做法,后续可能会对固件进行改进,如果强刷不含锁定的版本将无法进入系统。
方法分3种,其中第一种适用于所有高通机型,后面两种仅适用于note顶配、4c、note3全网通、红米3、4S、5以及后续将要发布的基于高通平台有锁机型。
前提:Win7 64位或以上系统,没有任何精简和定制。
需要工具:MiFlash最新版()note3全网通最新刷机包()。
Solution 1:手机能开机,能连接ADB模式,通过ADB命令进入QDLoader 9008模式。
核心思路:
先开启测试模式或者禁用驱动签名强制>安装刷机工具>在正确位置打开命令提示符>输入对应命令进入QDLoader 9008模式>安装驱动>强制刷机。
操作步骤:
1、打开电脑,以管理员身份运行cmd或者以管理员身份打开命令窗口。
2、输入以下命令并回车。
<span style="background-color: white;"><font color="#c0c0c0">bcdedit /set testsigning on</font></span>。
3、重启电脑,此时桌面右下角出现测试模式的水印。
4、安装MiFlash工具。
5、在MiFlash工具安装的目录下找到逗Google\Android地这个目录。
6、按住Shift键,在Android目录上点右键,点击在此处打开命令窗口。
7、插上手机,开启ADB端口。
8、在刚才打开的命令窗口中输入以下命令并回车。
<span style="background-color: white;"><font color="#c0c0c0">adb reboot edl</font></span>。
9、此时手机应该自动重启黑屏,电脑发现Qualcomm QDLoader 9008(COM XX)这样一个设备,如果没有,手动安装一下驱动(手动强制安装驱动的方法自行百度)。
10、MiFlash直接刷入正确版本的刷机包,刷完以后长按电源键重启,解决手机不能正常开机,解决起来难度较大,建议送至附近的售后解决,当然也可以尝试自己解决,需要DIY能力非常强的才可以。
Solution 2:通过Fastboot模式中转进入QDLoader 9008模式。
核心思路:
先开启测试模式或者禁用驱动签名强制>安装刷机工具>在正确位置打开命令提示符>Fastboot模式联机>输入对应命令进入QDLoader 9008模式>安装驱动>强制刷机。
操作步骤:
1、打开电脑,以管理员身份运行cmd或者以管理员身份打开命令窗口。
2、输入以下命令并回车。
<span style="background-color: white;"><font color="#c0c0c0">bcdedit /set testsigning on</font></span>。
3、重启电脑,此时桌面右下角出现测试模式的水印。
4、安装MiFlash工具。
5、在MiFlash工具安装的目录下找到逗Google\Android地这个目录。
6、按住Shift键,在Android目录上点右键,点击在此处打开命令窗口。
7、按住音量-和开机键,进入Fastboot模式并插入数据线连接电脑。
8、在打开的命令窗口中输入以下命令并回车。
<span style="background-color: white;"><font color="#c0c0c0">fastboot oem edl</font></span>。
9、此时手机应该自动重启黑屏,电脑发现Qualcomm QDLoader 9008(COM XX)这样一个设备,如果没有,手动安装一下驱动(手动强制安装驱动的方法自行百度)。
10、MiFlash直接刷入正确版本的刷机包,刷完以后长按电源键,解决。
Solution 3:通过短接触发进入QDLoader 9008模式。
核心思路:
先开启测试模式或者禁用驱动签名强制>安装刷机工具>在正确位置打开命令提示符>通过短接触发进入QDLoader 9008模式>安装驱动>强制刷机。
操作步骤:
1、打开电脑,以管理员身份运行cmd或者以管理员身份打开命令窗口。
2、输入以下命令并回车。
bcdedit /set testsigning on
3、重启电脑,此时桌面右下角出现测试模式的水印。
4、安装MiFlash工具。
5、在MiFlash工具安装的目录下找到逗Google\Android地这个目录,按住Shift键,在Android目录上点右键,点击在此处打开命令窗口。
6、准备一根数据线,剥开数据线外皮。
7、找到黑色和绿色线,剥开露出铜芯并短接。
8、保持黑色和绿色线短接的状态,插入手机,并将数据线另外一头插入电脑,长按手机电源键强制重启。
9、当手机屏幕黑掉,等待10秒左右,断开黑色和绿色短接。
10、电脑发现Qualcomm QDLoader 9008(COM XX)这样一个设备,如果没有,手动安装一下驱动(手动强制安装驱动的方法自行百度)。
11、MiFlash直接刷入正确版本的刷机包,刷完以后长按电源键。
虽然曾经的高通以先进的自研架构碾压对手,但是目前高通已经越来越显出疲态,个人认为,从805发布以后,高通一直在犯错。
这次写一篇长文,聊聊高通到底做错了什么。
801发布才过去三个月,高通很明显并没有对801的245g高频满足,进一步改进架构并提频,推出了805,这款频率高达27g的32位Soc使用了krait450架构。在当时看来,这颗soc的所有参数都无可挑剔。为了尽可能挖掘性能,高通甚至给其配备了64bit双通道的豪华内存控制器规格,同时这也是高通首次推出支持4k显示输出的Soc。该Soc被国行三星note4等机型搭载,代表了当时最强的移动Soc性能,除了exynos5433可以与之一较高下外,其他Soc全部被它完全碾压。然而,谁也想不到,这是高通最后一次如此的风光了。
在春季度刚刚发布完32位绝唱805之后,高通总算进入了64位时代。支持64位的Android50的发布,给64位soc的性能发挥带来了极大的便利。在410上小尝64位甜头的高通,在秋季度一口气发布了数颗64位soc,这其中就包括了msm8994,也就是传说中的地狱炎龙810。
按照高通的传统,8系应该由自研架构撑起一片天。但是由于恰逢32位64位交接,krait是一个纯32位架构,不可能改改就强行上64位,加上留给高通的时间太过仓促,高通不得不拿公版强行顶上来。
如果说光用公版,那问题不会太大,三星在用,那时候麒麟也出现了麒麟也在用公版,老老实实做,不会出什么事。坏就坏在高通长时间不做公版旗舰了,对公版架构的发热一直缺乏一个理性的认识(高通在低端soc上使用公版,但是因为低端soc发热本身就不大,高通根本没意识到公版可以这么热)。作为旗舰,性能是必须要堆的,为了保证能相比805有足够的性能优势,高通选择了暴力堆到4xA57+4xA53。
然而,A57偏偏是历代公版里发热较为恐怖的,加上高通因为长期不用公版做旗舰,对公版最高频率的设定把握不准,加上801和805的高频大胜利,高通给A57设定了20g的高频。A57在频率突破14g后就会功耗直线上升,20g的高频,注定不会凉快。
如果说高频A57是认识不足,高通还干了更睿智的一件事情:选择了20nm制程。同样是A57+A53的exynos7420,借着14nm的东风,活得倒也不算差,而高通这次用的20nm,进一步推动了地狱炎龙的诞生。
过于老旧的制程,导致即使是低频,810的能效比也完全难以直视。琴梨梨手头有一台shv32,官方锁四个大核,然而四个A53的发热就已经足以令人恐惧。
虽然810的真实性能并不算太弱,尤其gpu甚至性能足够出色,可惜因为功耗翻车,凡是用了810的手机厂商甚至是和高通有关系的厂商,历史都被改写了。小米note顶配空有跑分,没有体验,葬送了小米冲击高端市场的机会。nexus6p成为nexus系列最后一款机型。oppo不得不推迟find系列新产品,这一推迟就是接近四年。夏普也在新机型上放弃了三边全面屏设计。一加不得不通过降频18g勉强维持体验。三星无奈只能在全球使用7420。
尽管高通尝试对810进行修正,但是到了v21版本,依然还是地狱炎龙,这颗参数豪华而体验崩盘的Soc,最终落得了epic fail的代号,火龙的名号,也在民间被广泛认可了。
在尝试修复810失败后,高通马上全力投入新架构的研发,这个新架构,就是kryo。
高通还是一如既往的发挥了在自研能力上的优势,但是高通此时做了一个非常不理智的决定:要和x86竞争。
高通开始和巨硬密谋win10arm,巨硬很显然对牙膏厂的挤牙膏行为并不满意,于是开始开发win10arm。
不同于移动平台重视整数运算能力,桌面平台对浮点运算能力要求更高。为了适应高浮点的需求,kryo在浮点性能上下了大功夫,直接做到乱序五发射。在810发布整整一年后,搭载四颗kryo自研的msm8996,也就是820问世了。
虽然浮点对于移动端并不是最重要的,给力的浮点性能让kryo的单核性能碾压了一众公版,820更是创下了一次次四核碾压八核的辉煌战绩。因为810实在太热了,使用14nm的820,发布之初广受好评,被广泛认为是高性能低发热的典范。
然而,820并不是一颗完全成功的Soc。四核本身就不适合分丛集,高通却硬生生做成了2+2,由于当时尚未诞生eas调度,hmp在双同架构丛集上经常表现出调度不合理,导致核心经常跑在不必要的高频。而更大的问题是高通给小核心缓存砍了一刀,加上尚不成熟的分支预测,导致小核心经常预测失效爆缓存。
这些问题直到后来推出的821,也就是820官超版,都没有解决(琴梨梨现在主力机就是821),谷歌后来自己看不下去出手写了eas调度,总算一定程度缓解了82x的效率问题。
设计失误还不至于说好牌打烂,更精彩的是,上面提到高通想要进军桌面端对吧,巨硬没有辜负高通的期望,很快就把win10arm搞出来了,并在820上测试成功。我们可以看一下当年的视频https://myoutubecom/watchv=A_GlGglbu1U
(油管视频,怎么打开自己想办法)
得益于浮点性能的强大,视频中820已经可以勉强运行PS,而系统应用的流畅度已经足够日用。
如果在此时推出820的win10设备,是完全合适的,因为820的设计考虑了桌面端的运算需求。然而高通没有这么做,白白浪费了这么好的机会,等到后来才推出835的win10设备,可是835的浮点性能根本不足以负担桌面端需求,结果体验还打不过n3450,加上牙膏厂被逼急了一屁股坐在了牙膏上,高通的危机更大了。
此时高通其实完全有对抗危机的方法。高通从600开始就内置了dsp(类似于npu),但是高通对于使用dsp的开发收取高额费用,导致仅有小部分厂家发挥了dsp的优势。如果在此时放开对dsp的限制,高通完全可以比麒麟抢先一步引领ai潮流,但是高通毕竟专利流氓做久了,没有这种意识。
82x错失了进入桌面端市场的良机,又在移动端因为设计失误并没有大红大紫,此时的高通,决定回归公版。但是高通毕竟还是有那么点骨气,不是像810那样迫不得已绝对不在旗舰上直接上公版,于是高通就只能选择魔改公版。
835的设计其实非常保守,不但单核性能相比821主动倒车,而且gpu相比821提升也极其有限,甚至连15%都不到。
但是因为使用了公版,835相比高通一直坚持的第三季度发布整整提前了一个季度发布。由于当代公版效率较高,加上首批试水10nm,835的发热控制异常的优秀,销量大涨。但是此时高通内部完全没有放弃全自研的想法。
与此同时,似乎820运行win10arm给了高通无比的自信,高通甚至想去服务器行业分一杯牙膏厂的羹。
临近17年底,Centriq出现了。使用Falkor自研架构,这个架构和前辈kryo一样使用了乱序五发射,但是计算能力和效率大大提升,在浮点性能爆炸的情况下依然保持了A75水平的能效比。
但是Centriq根本没能分到一点市场。高通的祖辈农企早就在推土机时代就折腾过arm服务器,最后还是放弃了。服务器市场的竞争比高通想的要困难的多。因为服务器传统应用大多使用x86编译,无法运行在arm上,针对arm服务器的应用少之又少。加上在牙膏厂志强屁和农企EPYC的夹击,Centriq成了一个失败的产物,再也没有下一代。负责其架构自研的技术总裁Dileep Bhandarkar也在今年7月离职。
服务器市场算是失败了,可是高通一直没有放弃分牙膏厂羹的想法。上文提到巨硬已经准备好了win10arm,服务器受挫的高通,转向了笔记本市场。
虽然835模拟x86效率损耗较大,但是因为牙膏厂多年以来一直在笔记本上一家独大以至于挤牙膏,按照道理高通本能凭借835出色的能耗比能在细分市场中站住脚,但是进军笔记本界远没高通想的那么顺利。
年初之时,农企发布了船新的ryzen架构,牙膏厂再也不能稳坐在宝座上。
835笔记本还没正式上市,感觉到农企杀气的牙膏厂,带来了史上最良心升级,全面进入四核时代,835的性能在牙膏厂8代低压面前瞬间显得苍白无力。这导致高通甚至只能把长续航作为835笔记本的唯一亮点,因为除了续航,高通实在拿不出什么应敌之策了。
2017年接近尾声,移动端ryzen带着史上最强核显横空出世,给笔记本界带来了巨大变革。因为价格便宜而性能相比牙膏厂的8代低压甚至有略微优势,一时在低端笔记本市场大红大紫。农企的此举,把牙膏厂逼急了,一屁股坐在牙膏上,带来了atom系列的后代-J4005/J5005,这两颗超低压入门U的性能相比前辈atom大有改观,J5005甚至上了真四核。N3450被取代,而在此之前,唯一在部分项目上略输给835的就是N3450(https://wwwguru3dcom/news-story/qualcomm-snapdragon-835-vs-celeron-n3450-benchmarks-with-windows-10html)。高通进军笔记本界的最后一丝希望破灭了。
在835打破高通传统的年货式迭代节奏后,高通的节奏越来越乱。今年第一季度,高通就急匆匆发布了845。太紧凑的时间导致高通没有时间去改良本可以解决的缺陷,845存在较为严重的缓存漏电问题。
如果说缓存漏电还不是大问题,更大的问题就是高通的霸主地位不保了。845的性能提升依然有限,而在大洋对岸某个号称琵琶源自于它的国家,一颗被称为“安卓之光”的Soc诞生了。六发射配上高达4M的独立L3,9810跑出了单核3500分的惊人战绩,而在同频浮点效率测试中,9810跑出了接近845的两倍效率。
在此之前,高通的地位从未被如此剧烈的动摇过,高通从来没有在跑分上遭遇过如此奇耻大辱,要知道,当年那颗epic fail,都没有在跑分上做出丝毫让步。
高通的节奏进一步被打乱了。
按照往常,高通会在一颗Soc发布2-4季度后推出官超版本,比如800和801,820和821,然而这次高通只隔了一个季度不到,845的官超版850就被急着生了出来。被逼急了的高通,一口气把大核心频率艹到了296g。然而频率再高,也难逃地位不保。
高通的地位一次次被攻击。三星自主研发基带成功,在CDMA上和高通拜拜了,cat18的上行,甚至把850给干掉了。牙膏厂在基带上持续推进,直接集成了完整的x86核心与高通竞争,并抢到了苹果新iPhone基带的订单。余大嘴的嘴里,传出了7nm和cat21。
845依然是能耗比最优秀的Soc,但是9810已经越追越近。
排除9810效率低下的公版gpu,9810的cpu效率甚至在845之上。
高通当然急,没有不急的理由。俗话说狗急跳墙,被逼急了的高通,w步伐越发混乱,甚至试图威胁牙膏厂,然而牙膏厂才没工夫打理这种小打小闹。
而与此同时,高通还要挣扎着避免被闭源流氓博通收购。
5G时代近在咫尺,各大运营商也在加急推进淘汰2G和3G,而高通的大部分专利都局限在2G和3G。靠卖基带维持生计的日子越来越不好过,技术部门离职的人越来越多
节奏被打乱的高通,开始大量推出各种阉割版Soc细分市场。按照惯例,今年q4高通应该发布下一代旗舰,然而现在高通的官媒甚至都没有一点对新旗舰的预热宣传,675这种小打小闹倒是出的挺起劲。大洋彼岸的三星已经官宣9820要相比9810再来一次大提升,exynos已经从当初只会用公版的婴儿,长成了一个极具攻击性的成人。
一步步错失良机,一次次翻身失败。虽然835和845确实取得了不错的销量,但是高通手里的优势正在一点点失去。失去了自主技术,就等于把命送到别人手里,而如今的高通,正有这样的趋势。
8150已经成了高通唯一翻身的希望,而这仅剩的希望,还在一点点随着时间流逝。
写于2018/11/22,同步首发于知乎//B站
亲爱的lz你好,手机root之后是可以修改的
但是得在不影响手机系统使用的情况下
建议lz使用应用宝。应用宝的工具箱有专业的root工具
lz可以使用这个来给手机root
root完成之后,建议lz在应用宝上下载supersu和re管理器两个软件
用supersu给re管理器root权限
然后就可以找到那个文件修改属性了
希望可以帮到你,望采纳
谢谢~~~~~
还够详细吧,望采纳
题主是否想问“高通850不能安装64位软件的原因吗”高通850不能安装64位软件的原因是操作系统版本不支持,软件兼容性不合适。操作系统版本:如果你的设备运行的是32位的操作系统,则无法安装和运行64位软件,因为64位软件需要64位操作系统来支持。
1、软件兼容性:一些软件可能没有适配高通骁龙850等处理器的64位架构,导致无法安装和运行。此时,你可以尝试寻找适配的软件版本或者等待软件更新。
欢迎分享,转载请注明来源:品搜搜测评网