FCT测试

1.       总论

2.       启动过程

3.       各模块实现


1.       总论

FCT作为Android的一个外来测试程序,位于源码的external文件夹内,其目的是作为产品在PCBA装配生产线中的一个制程,对外围硬件设备驱动进行测试,通过对硬件的一些基本操作,如读芯片地址,来判断硬件是否能够正常工作。

 

 

2.       启动过程

系统由bootloader启动,解压并加载内核,完成系统各模块初始化,最后执行init.c脚本。

可以通过对init.c配置,比如,可以通过同时按下两个按键,选择进入FCT模式。

 

 

 

3.       各模块实现

FCT测试程序的实现过程,就是通过一个while(1)死循环,监听来自触摸屏的input事件,根据用户点击的区域执行对应的测试,测试完后给出passfail的结果。

 

 

 

3.1    按键

通过select()监听用户来自按键的事件,通过input子系统得到键值,判断键值是否正确。

struct input_event t;

       int keys_fd = open ("/dev/input/event1", O_RDONLY |O_NONBLOCK);

       if (read (keys_fd, &t, sizeof (t)) == sizeof (t))     {

              if (t.type == EV_KEY && t.value == 1) {

                     switch (t.code)

                     {

                            case 4: //page up

case 2: //page down

… …

}

3.2    显示屏

根据驱动提供的接口,对5张图片作全屏刷处理。

 

3.3    电池

电源驱动将电量值写进/sys/class/power_supply/battery/uevent文件里,FCT模式下只需要读取该文件的数据,就能得到电量值。

 

3.4    LED

直接控制GPIO,就能控制LED灯。

 

3.5    录音

打开录音功能,执行录音测试

system("/bin/echo f > /proc/driver/sound");

system("/system/bin/arecord -D hw:0,1 -t wav  -d 3 -c 1 -r 32000 -d 10 -f S16_LE /record.wav");

 

3.6    系统时间

直接读/dev/rtc0设备。

int rtc_read(struct rtc_time * rtc_tm) {

fd=open("/dev/rtc0",O_RDWR);

ioctl(fd,RTC_RD_TIME, rtc_tm);

… …

}

3.7    外围设备

通过读取驱动里注册的相关文件,判断设备是否插入。

check_arephone("/proc/driver/earphone");

check_bat("/sys/class/power_supply/usb/online");

check_sd("/dev/block/mmcblk0");

 

3.8    G-sensor

通过system("echo on > /proc/driver/gsensor");打开重力感应功能,翻转屏幕看是否正常。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
LabVIEW是一款图形化编程软件,可以在不需要编写代码的情况下,通过拖拽和连接图形元件,实现各种复杂的控制系统和数据采集/处理方案。为保证这些系统和方案的正确性和稳定性,需要进行各种测试FCT(Functional Test)测试是LabVIEW中常用的一种测试方法,其目的是验证被测系统在各种正常和异常的工作条件下,是否能够正确地响应输入和输出。FCT测试通常采用自动化测试的方式进行,即编写测试程序,通过半自动化或全自动化的方式进行测试。 在LabVIEW中,可以使用各种测试工具和VI(Virtual Instrument)进行FCT测试。例如,可以使用TestStand工具来创建测试序列和自动化测试程序,以验证被测系统在各种情况下的响应性和稳定性。也可以使用NI-DAQmx等VI来进行数据采集和处理,从而验证系统的数据输入和输出是否正确。 在进行FCT测试前,需要明确被测系统的功能、输入输出要求和特殊工况下的响应等相关信息,并进行测试用例的设计和相关VI的开发。测试过程中,需要记录各种测试结果和异常情况,并进行问题分析和解决。 综上,FCT测试是LabVIEW中常用的一种测试方法,用于验证被测系统是否能够正确地响应输入和输出。在测试前需要进行系统分析和测试用例设计,测试过程中需要采用相应的测试工具和VI,记录测试结果和异常情况,并进行问题分析和解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值