【MT8382/8121】为MTK的工厂测试添加测试项

摘要:

本文介绍添加MTK工厂测试项的步骤及调试技巧。

纲要:

1. 描述添加MTK工厂测试项的步骤

2.调试小技巧

1. 描述添加MTK工厂测试项的步骤

以添加红外测试为例:

1. mediatek/factory/inc/common.h

enum枚举添加ITEM_IR_TEST到最下面的ITEM_MAX_IDS上面,即倒数第2个;

2. mediatek/factory/inc/uistrings_chn.h

添加 #define uistr_ir_test “红外”;

这个字符串用于匹配factory.ini配置文件的测试项,只有两者一致的时候才会添加。注意这个文件是gbk编码。

unistrings.h是选择了英文才会使用,我们现在都使用的是中文,所以会匹配uistring_chn.h

3. mediatek/factory/src/factory.c

ftm_test_items[]添加item(ITEM_IR_TEST, uistr_ir_test);(在手动测试和单项测试中显示,必添加)

ftm_auto_test_items[]添加item(ITEM_IR_TEST, uistr_ir_test);(在自动测试中显示,尚不清楚机制,可选)

这两个参数就是步骤1 2添加的项目,名字要一致。

这里一般都会使用宏来控制是否添加,除非是都测的项目,以免运行出错。

4. mediatek/factory/src/test/ftm_irtest.c

添加ftm_irtest.c文件。实现ir_test_init(),  ir_test_entry()两个函数。函数名没有要求。具体实现参考ftm_rftest.c。(rftest是通过代码判断是否测试通过的,如果需要手动确认是否通过,参考ftm_otg.c。主要区别在entry函数)

ir_test_init()中需要调用ftm_alloc,这个会注册一个ITEM_IR_TEST相关的结构体。然后调用ftm_register,把ir_test_entry和这个结构体绑定。

ir_test_init()在factory初始化过程中会调用。

ir_test_entry()在项目被点击的时候调用。需要实现一些UI相关的绑定,以及具体的验证方法。通常会启动一个线程如ir_update_thread来测试,entry通过全局变量ir_factory检测测试结果。

5. mediatek/factory/src/test/ftm_mods.c

添加extern int ir_test_init();

在ftm_init_funcs[]的倒数第二个(NULL上面)添加ir_test_init。这样在factory启动的时候就会自动调用ir_test_init,从而将ITEM_IR_TEST测试项与ir_test_entry绑定起来。

至此,所有添加项都关联起来了。

6.mediatek/factory/Android.mk

将ftm_ir_test.c加进TEST_SRC_FILES中。

同样用宏控制是否添加,这里用到CVTE_IRREMOTE_APP_SUPPORT的宏来控制。

7.factory.ini

添加MenuItem=红外;需要和uistr_ir_test 名字一致,否则无法匹配。

这个文件会先去/sdcard目录寻找,再去/etc目录寻找,我们调试的时候直接放进sdcard目录就可以了。

8.mediatek/custom/active_1051j/factory/factory.ini

把修改的ini文件放入custom目录下,使用mk文件将其拷贝至/etc目录下。

custom的factory目录会存在factory.ini和factory_chn.ini两个文件。如果是中文,则把factory_chn.ini拷进去,并重命名为factory.ini;英文则直接拷贝。也可以只留一个factory.ini文件,里面是中文。factory程序只会解析名为factory.ini的文件。

调试小技巧:

1. 烧录eng版本软件,打开USB调试。

2. 重启进入MTK工厂测试。

3. 需要烧录新factory程序的时候,push进/system/bin并chmod 777 /system/bin/factory。

4. 执行ps factory查询当前正在运行的测试程序,kill掉。

5. 在shell中输入factory重新启动MTK工厂测试程序。

6. 再次需要烧录新的factory程序的时候,ctrl+C即可停掉当前的factory程序,然后重新执行步骤3,5。 无需重启。

版权所有,转载请注明出处:

http://www.cnblogs.com/sickworm/p/4015981.html

时间: 2024-10-19 23:30:22

【MT8382/8121】为MTK的工厂测试添加测试项的相关文章

从零开始,搭建博客系统MVC5+EF6搭建框架(2),测试添加数据、集成Autofac依赖注入

一.测试仓储层.业务层是否能实现对数据库表的操作 1.创建IsysUserInfoRepository接口来继承IBaseRepository父接口 1 namespace Wchl.WMBlog.IRepository 2 { 3 public partial interface IsysUserInfoRepository : IBaseRepository<sysUserInfo> 4 { 5 6 } 7 } 2.创建sysUserInfoRepository类继承BaseReposit

如何在帮助页面添加测试工具

上一篇我在ASP.NET里面添加了一个Help Page,这篇文章我打算在该page里面添加一个测试工具,这样我们在开发的时候就可以直接用来测试API了,对开发很有好处! 你也可以看这篇文章来添加测试工具:http://blogs.msdn.com/b/yaohuang1/archive/2012/12/02/adding-a-simple-test-client-to-asp-net-web-api-help-page.aspx 1,添加NuGet程序包 点击安装即可. 之后会在你的项目中添加

[转]Mantis Administrator控制密码、注册不用邮件验证、添加测试员

Mantis默认安装完成后,管理员创建用户,但无法设置用户密码,只有通过邮件由用户自行修改.无法适应某些没有统一邮箱的情况,现将关闭邮箱验证方法和管理员设置用户密码方法验证通过   不用邮件验证: config_inc.php中 添加: $g_send_reset_password   =   OFF; #是否通过EMIAL发送密码 $g_allow_blank_email   =   ON; #是否允许不填写EMAIL Administrator控制用户密码(转): 1) 修改文件 manag

测试添加html

请点击上面的“开始计时”按钮来启动计时器.输入框会一直进行计时,从 0 开始.点击“停止计时”按钮可以终止计时,并将计数重置为 0. 测试添加html,布布扣,bubuko.com

Mantis Administrator控制密码、注册不用邮件验证、添加测试员[Z]

Mantis默认安装完成后,管理员创建用户,但无法设置用户密码,只有通过邮件由用户自行修改.无法适应某些没有统一邮箱的情况,现将关闭邮箱验证方法和管理员设置用户密码方法验证通过   不用邮件验证: config_inc.php中 添加: $g_send_reset_password   =   OFF; #是否通过EMIAL发送密码 $g_allow_blank_email   =   ON; #是否允许不填写EMAIL Administrator控制用户密码(转): 1) 修改文件 manag

[Xcode10 实际操作]九、实用进阶-(30)为IAP(支付方式)内购项目添加测试账号,测试内购功能

本文将演示如何添加测试账号,以方便对内购功能进行测试. IAP,即in-App Purchase ,是一种智能移动终端应用程序付费的模式, 在苹果(Apple)iOS.谷歌安卓(Google Android).微软WindowsPhone等智能移动终端操作系统中都有相应的实现. 首先要做的是打开浏览器,并进入[iTunesConnect网站],需要通过它创建一款自己的应用. 在iTunesConnect的登录页面中,输入自己的苹果账号和密码. iTunesConnect分为多个部分,每个部分整合

测试添加随笔标题

测试添加随笔内容 评论树 <script type="text/javascript"> $.ajax({ url: "/get_comment_tree/", type: "get", data: { article_id: {{ article_obj.pk }} }, success: function (comment_list) { console.log(comment_list); $.each(comment_list

Android Day02-Android中单元测试(junit测试)&monkey测试

Android中junit测试有2种实现方式 第1种:一般Android工程的实现方式 1.在清单文件中添加2项内容 首先在AndroidManifest.xml中加入下面红色代码: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.itcast.action" android:versionCode="1"  android:v

使用编码的 UI 测试来测试 Windows 应用商店应用

自从Win8应运而生以来,Windows应用商店便立马成为开发者展示的舞台,而这短短的几年里应用的数量就可数以万计,这也不可避免地出现了良莠不齐的局面.我们都知道Visual Studio是目前最流行的Windows平台应用程序的集成开发环境.VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等.所写的目标代码适用于微软支持的所有平台,我们也可以使用它来开发Win8应用.另一方面,Visual Studio也可以用来