2017年3月18日 星期六 阴
我是与华为的气质格格不入的,在15年之前,我做梦都没想过我这辈子会在华为工作。人生无绝对,从15年下旬开始,我们开始在海思上开发手机终端了。
做的不是终端的产品,华为也不肯把原始代码释放出来让我们在自家公司开发,只好由我带队常驻华为开发同时做几个项目,办了二三十张华为的工卡,这一待就是一年多。
之前是做MTK出身的,也接触过其他平台,但海思平台确实不太一样:
-
产线流程:之前我们在MTK上,只会发布一个user软件版本,此版本就可以直接在产线上贴片、校准、写号然后最后出货的。而海思平台,有如特殊形态的版本一样,要先做一个烧片版本用来贴片,射频校准等,还有可能需要二次定制(比如下不同国家或运营商的Logo、APN)的工位,最后再通过SD升级的方式升级为出货软件(user)。
-
硬件和Driver的调试工具不一样每个平台都有自己的一套。
-
编译版本:华为一般是在CI上编译的,编译速度比较快。烧片版本的编译配置还和正式软件有所不同。此外,如果要做二次定制的话,常规Android代码会编译成一个正常的软件,另外有一个独立的二次定制svn(大部分都是脚本)用来做二次打包。
-
抓log工具:海思有调试工具,华为终端也开发有自己的抓log工具,我去的那个部门属于无线,没人知道,只能靠自己摸索了。
-
老化测试:工厂生产要对一批机器进行老化,所谓老化,都是自动测试的,就是比如对camera连拍150张,看有没有问题;高温低温老化等。
-
生产工具:有一套自己的工具,不同工厂得根据需求进行二次开发,搞了很久很久。出货版本,要用加密狗进行解锁。加密狗要北京制作,只能人肉带着,不能邮寄。
-
AP代码:没什么好说的,跟普通Android没啥区别,华为会加一些EMUI的代码,有的人写的好,有的人写的差。如果有overlay部分,他们一般会放在vendor下。代码很多都用二次定制来控制,比如看某个apk在不在,我觉得有点乱。不过代码里一般都会写DTS单号和名字,显得比较规范。华为的DTS系统比较落伍。从bug描述水平的话,这个部门华为测试人员的分数我只愿意给3分(我司7分,满分是10分);从研发水平来说,这个部门的华为软件我综合给5分(我司7.5分,满分10分),硬件4分(我司7分,满分10分),工作态度给7分(加班多也不一定在干活;我司8分,满分10分)。我只是说这个部门的,海思和终端的研发人员水平应该不比我司差。
-
CP代码:我没见过CP部分代码,也不想看。海思modem部分,得在特殊的主机上编译和提交,只能拷贝编译生成的image出来。
-
安全红线:华为有所谓的安全红线检查,比较严格。但只是看起来比较严格,有些是没有意义的,或者也查不出来。
...