6秒钟,一部新手机就装好了操作系统

2015-07-18 16:47:35  [来源:知乎]    
字体:【

 苹果公司是怎么在非常短的时间里在代工厂给几千万部苹果手机安装操作系统的?

作为进过手机产线的Android系统工程师,简单回答一下。

手机的生产(其实是硬件组装,以Android为例)基本过程是:元器件定型、采购、贴片、组装、下载、测试、包装、OQA测试((日报注:Outgoing Quality Assurance,成品最终出货检查)、出厂。

系统软件一般至少要在贴片环节可用(可用仅指能测试元器件功能是否正常即可,时不时出一些错误也可以接受)。尽快给出贴片版本,是系统、驱动、通信工程师在立项后的第一根硬骨头。

贴片的意思是,把CPU、Flash存储、内存、基带芯片等“贴”到空白主板上,此环节的输入是上述芯片和主板等,输出是一个完整主板,注意只是主板,没有电池、外壳,甚至没有屏幕。贴片可以和后续的组装在同一厂商完成,也可以由不同厂商依次完成,亦即二者可以有时间差(对软件研发就是版本差)。

后面的其他环节简单说一下,组装就是把屏幕、外壳、电池等搞上去。

下载环节,就是将手机升级到当时的最新版本,这一环节的必要性,是上述的从贴片到组装的时间差版本差。

下载一般会使用专门开发的工具,一台下载机(普通pc,也可能是专门设备)会至少接8根甚至更多usb线,每根线都有自己特殊的编号和独立进度条,一个出现问题不影响其他继续完成下载。从下载机到手机的下载速度也比很多人想象得快,其本质是烧录flash芯片。这么说吧,每根usb可以在45秒左右完成一台手机的烧录,即使只有8根线,平均每台下载机可以在不超过6秒的时间内搞定一台手机的系统烧录

测试环节当然就是测试了,但通常会使用一些特殊方式执行一些隐蔽的测试程序,例如在拨号盘输入*#*#5211314#*#*之类的,这些测试程序一般测试速度很快,例如自动将屏幕亮度和颜色调整以观察有无亮点等,一般两三分钟甚至更快就能完成所有元件的测试(其实这个两三分钟还有三四十秒是在等待完成第一次开机,目前也有企业已经在做这个优化)。当然,测试环节还是少不了手动点点点的。测试的最后一项是恢复出厂设置,这也是重要的待测功能,也是为了清除测试过程的痕迹,给消费者一个“处女”手机。

包装环节就是搞个包装盒,塞上擦净的手机、数据线、说明书、保修卡等等包装起来。

通常包装后就意味着可以出厂了,但多数厂商还有最后一道OQA(即出厂质量保证),一般是通过抽检某批次的已经完成包装的产品,以判断是否存在潜在质量风险,一般会检二十分之一到十分之一。OQA权力也很大的,甚至可以要求整批次返工。

好了,我们可以看看哪些环节可以优化。首先确实存在“先写后贴”和“先贴后写”的区别,但实际执行时可能都是先写后贴,因为贴片版本是很有必要存在也是确实存在的。手机这玩意太复杂,涉及到各器件的兼容性,我们需要一个版本试试看。

理论上,一旦选型完毕,兼容性的问题基本不存在,生产时正式使用的flash上可以是空白的。但考虑到不少厂商的贴片是外包给贴片厂的,贴片厂也需要有一个软件验证自己的工作,至少主板加电不冒烟吧。所以,一般参与组装的flash都是“先写后贴”然后下载环节升级的。

而“先写后贴”的效率主要看flash生产环节初始化数据的速度(可以理解为日立给联想生产硬盘时,在硬盘里预写Win8的速度),下载环节升级的速度主要得靠下载工具提升(可以理解为联想生产线把win8再升级成Win10的速度)。

当然,苹果不可以以Android完全类比,苹果手机研发周期长,完全有可能在贴片时就是正式版本,亦即采购时已经要求flash供应商烧录最新版本,那后续的下载环节就完全可以取消了(可以理解为日立硬盘自带了最新版win10)。

废话这么多,其实主要意思是:

1.手机软件研发、硬件组装、功能测试的过程,比起烧录软件这个环节,不知道费劲到哪里去了。

2.可能不需要组装线做烧录。

3.即使需要烧录,也都是专门工具批量搞的。so easy!妈妈你再也不用担心了。

分享到:

相关新闻