RockChip PCBA Test TRM

更新时间:2023-03-28 17:12:01 阅读量: 说明书 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

RockChipPCBA

测试工具

V1.0

2012-10-23

版本历史Version

V1.0Date2012-10-23AuthorYXJUpdatenote

一、概述

PCBA测试工具用于帮助在量产的过程中快速的甄别PCBA的好坏,提高生产效率。目前包括屏幕(LCD)、相机(Camera)、实时时钟(RTC)、重力感应(gsensor)、无线(wifi)、SD卡(sdcard)、按键(KEY),喇叭耳机(Codec)测试项目。这些测试项目包括自动测试项和手动测试项,LCD、Camera、RTC、Gsensor、wifi、sdcard为自动测试项,KEY、Codec、Camera_front(前置摄像头)为手动测试项目。

该工具支持通过配置文件test_config.cfg对测试项进行配置,具体的配置说明请参第四部分“配置文件”

二、PCBA测试固件的生成

PCBA测试程序位于Android源码/extenal/rk-pcba-test目录下,编译会生成pcba_core可执行文件,pcba_core和rk-pcab-test/res下的相关文件在编译的时候会被自动拷贝到recovery的sbin目录下。

编译好完整的Android固件后,用”瑞芯微创建升级磁盘工具”生成可以从sdcard启动的固件(要在工具的功能选择中勾选PCBA测试项),然后用sdcard启动PCBA板或者是普通的固件,在parameter的CMDLINE里面加入“bootmode=sdfwupdate”,烧写由parameter、misc.img.、recovery.img,打包生成的update.img系统启动后,会自动进入PCBA

测试功能,测试界面如图一所示:

图(1)PCBA测试界面

三、测试项

(1)实时时钟(RTC)测试

RTC为自动测试项,测试的时候会向RTC里面设置一个时间,然后读取,判断读取的时间是否和设置的时间相等,如果相等则测试成功,并用蓝色字体打印rtctestsuccess:年-月-日时:分:秒,失败用红色字体打印rtctestfail。RTC测试的时候使用的时间可以在test_config.cfg中设置。

(2)重力感应(gsensor)测试

Gsensor为自动测试项,测试成功会在屏幕上用蓝色字体打印“gesensortestsuccess”以及x、y、z方向采集到的数据。如果测试失败,会用红色字体打印“gsensortestfail”。

(3)无线网络(wifi测试)

Wifi为自动测试项,测试成功会在屏幕上打印wlantestsuccess和搜索到的第一个AP,测试失败会用红色字体打印wlantestfail。

(4)sd卡(sdcard)测试

Sdcard为自动测试项,插入sdcard,如果测试成功会在屏幕上打印sdcardtestsuccess和卡的容量,测试失败会打印sdcardtestfail。注意,

SDcard必须为FAT32格式,不支持其他格式!整个卡只能包含一个分区。如果不符合要求,请通过格式化来格式成标准格式。

(5)屏幕(LCD)测试

LCD为自动测试项,测试的时候会在屏幕的右下方显示红、绿、蓝三原色的方块,需要测试人员自动判断这三种颜色的方块显示是否正常。

(6)相机(Camera)测试

后置Camera为自动测试项,测试成功会在屏幕的右上方实时显示采集到的图像,如果没有正常的图像显示,则为测试失败。前置摄像头为手动测试,在测试的时候需要点击屏幕左上方的Camera_front标识,然后启动测试。

(7)按键(KEY)测试

按键为手动测试项目,测试之前请在屏幕左上方点击KEY(点中后颜色会变化),然后按需要测试的按键,按键松开的时候,会用黄色字体显示检测到的按键。注意,最后测试POWER键,POWER键作为按键测试结束的标志。

(8)耳机喇叭(codec)测试

Codec为手动测试项目,测试之前请在屏幕左上方点击Codec,前3秒放一段提示声音提示用户在滴声后开始进行录音测试,中间3秒存储MIC的输入音,此时外放是关的,最后3秒播放中间3秒所MIC的输入音。这个流程是一直循环的。

(9)TP测试

由于按键和Codec两项是通过触摸启动的,如果点击Codec和KEY能正常的启动测试项,说明触摸正常工作,因而不最专门的触摸测试项。

(10)USBHOST测试

USBHOST测试通过测试挂载u盘来实现,为自动测试项,测试的时候,请接上U盘,如果测试成功,会用红色字体显示udisktestsuccess一级检测到的容量。U盘必须为FAT32格式,不支持其他格式!整个卡只能包含一个分区。如果不符合要求,请通过格式化来格式成标准格式。

所有项测试完成后,请长按任意一个按键3s后松开,则停止测试,移除sdcard,然后系统才会继续升级。

四、配置文件

PCBA所有的测试项目通过一个配置脚本test_config.cfg来配置,位于Androidsrc/external/rk-pcba-test/res/test_config.cfg,用户可以根据项目的硬件配置来配置test_config.cfg文件,决定要对哪些模块进行测试,以及给自己的测试程序传递相关的参数。

该脚本使用ini文件格式,由段、键和值三者组成,通常一个段表示一个模块配置。目前要求该配置文件使用UTF-8编码,其他编译格式可能会导致未知错误。模块配置示例:测试模块配置模板

[example]

display_name="Example"

activated=1

program="example.sh"

category=0

(1)[example]

Example表示一个配置模块的名称,如果是cfg文件中自带的模块名称,则不能改动,否则会导致某个测试项不被测试系统启动。

(2)display_name

display_name表示该测试模块在屏幕上显示的名称,可以根据自己的需要修改。该名称最长为64字节,如果为空,则测试程序不会运行。

(3)activated

activated表示是否测试该模块

0:不测试该模块

1:测试该模块

(4)program

该键值目前没用到,可以不用配置

(5)category

category表示测试方式

0:自动测试

1:手动测试

屏幕测试

[Lcd]

display_name="lcd"

activated=1

program="lcdtester.sh"

category=0

run_type=1//测试该项//自动测试

实时时钟测试

[rtc]

display_name="rtc"

activated=1//测试该项

program="rtctester.sh"

category=0//自动测试

run_type=1

module_args="20121113.160145"//测试rtc的时候设置的时间

无线测试

[wifi]

display_name="wlan"

activated=1//测试该项

program="wifitester.sh"

category=0//自动测试

run_type=1

module_path="/system/vendor/modules/8192cu.ko"

module_args=

重力感应测试

[gsensor]

display_name="gsensor"

activated=1//测试该项目

program="gsensortester.sh"

category=0//自动测试

run_type=1

蓝牙测试

[bluetooth]

display_name="bluetooth"

activated=1

program=

category=

run_type=1

chip_type="";rk903,mt6622,rda587x,rda5990//选择相应的BT芯片型号,默认为空,也就是不测试BT

SD卡测试

[sdcard]

display_name="SDcard"

activated=1

program="mmctester.sh"

category=0

run_type=1//测试该项目//自动测试

USBHOST测试

[udisk]

display_name="Udisk"

activated=1//测试该项目

program="udisktester.sh"

category=0//自动测试

run_type=1

按键测试

[Key]

display_name="Key"

activated=1

program="keytester"

category=1

run_type=1//测试该项目//手动测试

音频测试

[Codec]

display_name="Codec"

activated=1//测试该项目

program="mictester"

category=1//手动测试

run_type=1

delay=5

volume=40

该配置脚本可以扩展,如果某个模块需要通过配置脚本传递相关参数,可以扩展相关的键值,比如RTC配置项如下

实时时钟测试

[rtc]

display_name="rtc"

activated=1//测试该项

program="rtctester.sh"

category=0//自动测试

run_type=1

module_args="20121113.160145"//测试rtc的时候设置的时间

在具体的测试程序中,可以通过script_fetchapi获得设置的相关键值:intscript_fetch(char*main_name,char*sub_name,intvalue[],intcount)

main_name:测试模块的名称,在test_config.cfg文件中[xxxx]

sub_name:键值,比如activated、display_name、module_args等等。

if(script_fetch("rtc","module_args",(int*)dt,8)==0)

{

trncpy(s,dt,32);

}

这里,可获取在配置文件中设置的rtc测试时module_args设置的值。

测试程序中可以通过ui_print_xy_rgba()接口,打印测试结果到屏幕上,由于屏幕空间有限,原则上,尽量打印简单的结果,一个测试项打印一行,成功用蓝色打印,失败用红色打印。

五、测试样例的扩展

该测试程序允许用户扩展自己的测试样例。如果因为项目需要,用到了该测试程序中目前还未支持到的模块,可以自己添加测试程序,然后集成到测试框架中。

集成方法如下:

(1)先写好自己的测试程序和头文件。测试程序要封装成

void*xxxx_test(void*argv)格式的接口。

(2)确定该测试项为手动测试项或者是自动测试项,并在test_config.cfg里面加入想要的配置。

(3)如果是手动测试,在pretest.c的init_manual_test_item()函数中

注册自己的测试代码:

strcmp函数中的“xxx”为在test_config.cfg中定义的测试模块名称[xxxx]xxx_test是在测试代码中定义的测试函数。

(4)如果是自动测试代码,在pcba测试程序启动的时候,会作为一个线程去启动所有的测试代码,需要在pretest.c的start_auto_test_item()函数中注册自己的测试函数:

本文来源:https://www.bwwdw.com/article/md3n.html

Top