本文硬件平台以飞凌嵌入式OK3399-C开发板为基础进行讲解,其它RK3399产品,由于各个厂家设置不同会有所差异,请参考使用。本文档主要介绍 Rockchip PCBA测试工具的在OK3399-C开发板上的使用方法和开发指南。通过本文档可快速了解PCBA工具的使用,以及PCBA测试功能的扩展。
PCBA 测试工具用于帮助在量产的过程中快速的甄别PCBA的好坏,提高生产效率。RK官方说明文档位于external/rk-pcba-test/doc/RockChipPCBA测试工具说明V3.0.pdf目录。
目前PCBA支持的测试项包括DDR\EMMC、屏幕(LCD)、实时时钟(RTC)、无线(wifi)、SD卡(sdcard)、U盘、按键(KEY)等测试项目。
这些测试项目包括自动测试项和手动测试项,DDR\EMMC、RTC、wifi为自动测试项,KEY、LCD、SD卡、U盘为手动测试项目。
该工具支持通过配置文件test_config.cfg对测试项进行配置,具体的配置说明请参第3部分“配置文件”
一、编译PCBA固件PCBA测试程序位于Android源码/extenal/rk-pcba-test目录下,编译会生成pcba_core可执行文件,pcba_core和rk-pcab-test/res下的相关文件在编译的时候会被自动拷贝到recovery的sbin目录下。
默认PCBA测试功能是关闭的,需要修改代码打开PCBA支持。
修改:device/rockchip/rk3399/rk3399_all.mk
TARGET_ROCKCHIP_PCBATEST=true
source build/envsetup.sh
lunch rk3399_all-userdebug
make recoveryimage
./mkimage.sh
./mkupdate.sh
这样,支持PCBA测试的固件制作完成,位于:rockdev/Image-rk3399_all/update.img
二、制作PCBA测试卡下面,我们来制作一张专门用于PCBA测试的TF卡,这样,每当飞凌RK3399主板插入该TF卡时都将自动进入PCBA测试。
将前面一节制作的PCBA固件拷贝到windows上,以管理员权限打开SD_Firmware_Tool.exe
选择TF卡并勾选“PCBA测试”选项,选择你的PCBA固件,点击“开始创建”。创建完成后将TF卡插入飞凌RK3399开发板并重新启动,系统将自动进入PCBA测试流程。
三、PCBA项说明测试项分为 “自动测试项” 和 “手动测试项”
自动测试项:由系统自动进行测试并判断测试结果,如:网络,内存,时钟等。
手动测试项:需要由人工配合完成或者配合判断测试结果。如:录音,按键,U盘,SD卡等。
测试项分别有 “红”,“黄”,“绿” 三种颜色表示不同的测试状态
黄色:未测试项或者正在测试的项
绿色:测试通过项
红色:测试未通过项
PCBA所有的测试项目通过一个配置脚本test_config.cfg来配置,位于/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
Example 表示一个配置模块的名称,如果是cfg文件中自带的模块名称,则 不能改动,否则会导致某个测试项不被测试系统启动。
display_name表示该测试模块在屏幕上显示的名称,可以根据自己的需要修改。该名称最长为64字节,如果为空,则测试程序不会运行。
activated表示是否测试该模块
0:不测试该模块
1:测试该模块
program该键值目前没用到,可以不用配置
category 表示测试方式
0:自动测试
1:手动测试