<6> 紫光展锐[ENGPC] 常用产线测试工具的简单使用

前面讲了5篇EngPC的基础知识,包括sqlite, 动态库, socket, 线程, 链表,这个是在EngPC中用的比较多的,当然还有一些是没有讲到的,比如软链接, Android Property, SELinux权限配置, 标准IO等等还是有好多知识是没有说到的,我用在这上面的时间也是有限的,遇到其他的知识点,请自行学习一下,从本节开始,就步入实战环节,本节主要是讲一下常用的几个产测工具的一个基本使用方法,后面的章节,将介绍EngPC的框架,流程,协议和扩展等等.

首先,我们来看一下展讯常见的几种测试模式:

●factory mode: 展讯公版手机是关机键 + 音量上键进入的模式,我们叫Native MMI.

●autotest mode: 在手机不开机的情况下,利用PC端的BBAT工具(Autotester)在手机插USB后,U-boot会根据cmdline的参数去决定启动什么类型的模式,ENGPC解析cmdline中的关键字 autotest=1 androidboot.mode = autotest,启动autotest服务,进入autotest模式.

●EUT mode:展讯公版输入*#*#83781#*#*,然后就可以测试BT EUT或者wifi EUT.

●Normal mode: 手机开机后,比如可以用Pandora工具进行连接com口进行测试.

下面我们来使用一下常用的一些PC端产线测试工具:

1.Autotester

打开Autotester之后界面如上,画红框的都是一些比较常用的区域,然后根据不同的机型使用不同的模式,我手里有一台SC9853i的样机,所以,这里就以SC9853i来进行测试吧,其它机型是一样的,我们选择0x95模式,然后点击进模式,之后,手机安装上电池,不要开机,插入USB线,手机会自动启动bootloader(U-boot),然后U-boot会根据传入cmdline中的参数启动EngPC模块,进入校准模式.如果成功操作,我们就可以通过右边那个大红框看到连接成功的消息了,之后,我们可以通过面板上提供的一些测试按钮测试手机,比如我们来测试一下手机的FM.

如上图,我们给手机在关机情况下会自动进入校准模式,启动EngPC,然后,我们给手机插上耳机(天线),点击上图中的FM Open,如果89.9Mhz有广播频道时,我们就可以听到广播了,点击FM Close则可以关闭FM,有时候我们需要调试这个功能,这是我们可以点击右下角的"开始记录log"选项,等操作相应功能完成之后,我们可以点击"打开log",查看PC工具发送数据和接收数据的状态,当然,这是PC工具端的log,如果我们想看EngPC的log,我们可以开机以后通过ADB把data/local/englog下的文件pull出来,这里面就有EngPC的log,我们就可以通过分析log来调试相应的功能了,当然,除了这种方法之外,我们还是可以通过串口的方式获取log(串口控制台大家应该都很熟悉了),但是我这个样机没有引出串口,所以,就用第一种方法了.

特别注意的是,在测试WIFI或者蓝牙的时候,由于启动比较慢,所以可能一下子搜不到设备,这是可以多点几次search,一般5次以内就可以正常搜索到设备(条件是周围环境有这种信号).其它一些功能,大家看着测吧.下面再看看其它几个工具怎么使用.

2.Pandora

上图是连接界面,我们可以选择下拉框中的选项,这里就不选了,直接点击Connect,然后手机在关机状态下,连上USB,过一小会就可以进入校准模式,进去之后,我们来测试一下AT命令:

如上图我们是测试电池电压的AT命令,箭头处事返回的结果,除了AT之外,其它比如WIFI, BT, FM, GSM, TD, WCDMA, LTE都是可以测试的,测试FM时,可以开机测试,因为关机测试只返回结果,没有实际效果, Pandora工具就是开关机都可以使用的工具.

3.MobileTester

连接步骤和上面是一样的,关机状态下,点击连接,插入USB线,然后等一会连接提示成功,就可以测试了,效果如下:

4.WriteIMEI

同样是关机状态下,比如点击读取按钮,然后给手机插上USB线,效果如下:

5.AudioTester

手机开机状态下,选择LTE diag端口进行连接,然后,连接成功之后,我们可以选择"Get Audio/Music mode information"调试不同的音频,同时也可以拨打电话,比如我们打了紧急电话999.当然这是没有插SIM卡的,不然就要真的打出去了.

以上就是一些常见的工具的一个基本用法.这些工具都是要和EngPC模块进行交互的,然后,我们知道怎么测试EngPC模块了,下面,我们再说一下EngPC模块怎么修改和使用修改后的文件.

ENGPC代码位置
Android6.0:
vendor\sprd\open-source\apps\engmode
Android7.0:
vendor\sprd\proprietories-source\engmode

ENGPC模块编译
编译方法有两种:
1、    在代码根目录输入 make engpc -j24编译(全编译&没有编译过的工程)
2、    在engmode路径下输入mm(编译过的工程)
编译完后生成可执行文件:out\target\product\工程名\vendor\bin\engpc

make engpc的依据是engmode的Android.mk文件中定义模块名为engpc,如下:

其它需要单独编译的工程也是这种原理,只要找到模块名就可以全编,且在依赖其它模块时会自动编译其它需要依赖的地方,如果在首次全新代码运行mm或者mmm等,则可能会报错,因为它的依赖没有编译,但是在根目录执行make engpc则会把其依赖一起编译,这样就避免因缺失依赖文件而报错了.

ENGPC模块运行
如果手机是user-debug版本,可以直接将模块化编译好的engpc可执行文件push到手机端运行,先将手机开机并连接ADB。
1、    adb root
2、    adb remount
3、    adb push E:\EngPC\source\image\9863A\engpc /system/vendor/bin
4、    adb shell chmod 0777 /system/vendor/bin/engpc
5、    adb reboot
完成上述5步后,新编译的engpc已经在手机中运行了。

猜你喜欢

转载自blog.csdn.net/qq_23922117/article/details/81144364