掌桥专利:专业的专利平台
掌桥专利
首页

一种基于Android设备量产过程中测试PCBA的软件实现方法

文献发布时间:2023-06-19 11:29:13


一种基于Android设备量产过程中测试PCBA的软件实现方法

技术领域

本发明涉及软件自动化测试技术领域,尤其涉及一种基于Andriod设备量产过程中测试PCBA的软件实现方法。

背景技术

目前Android设备量产过程中使用测试手段多为功能测试APP,此阶段Android设备已经被组装成整机,被检查失败的整机需要重新拆机维修,再组装二次测试,大大降低了测试和生产效率。在组装整机前对PCBA进行不良甄别,能大大提高整机的测试通过率。现有生产流程对PCBA的功能检测多为人工烧录目检,有极高的出错概率。未组装的PCBA因未连接LED显示单元,不便于使用APP等自动化功能测试软件进行测试。

发明内容

本发明的目的在于克服现有技术中所存在的当Android设备量产过程中的PCBA被检测失败时需要拆机维修再重组进行二次检测,生产效率大大降低;人工烧录目检出错率高;未组装的PCBA未连接LED显示单元,不便于使用APP等自动化功能测试软件进行测试的问题,提供的一种基于Android设备量产过程中测试PCBA的软件实现方法。

为了实现上述发明目的,本发明提供了以下技术方案:

一种基于Android设备量产过程中测试PCBA的软件实现方法,包括以下步骤:

S1:编译能够运行于recovery模式下的PCBA功能测试的程序;

S2:修改Android系统的默认启动模式,启动Android设备量产过程中的PCBA,并在recovery模式下实现PCBA功能测试程序的自动调用;

S3:输出PCBA功能测试程序结果。

采用上述技术方案,实现了在Android设备的功能测试过程中能快速、可靠地甄别PCBA功能模块的好坏,避免了不合规PCBA的不必要装机流程,提高了生产效率。

作为本发明的优选方案,所述S2包括以下步骤:

S21:Bootloader通过读取MISC分区预先写入的Bootloader_message结构体的recovery字段,修改command[32]的值为boot_recovery,启动recovery模式;

S22:在Android源码recovery.cpp的main函数中添加对pcba_test程序的调用,使用如下函数:

const char *args[2];

args[0] = "/sbin/pcba_test";

args[1] = NULL;

execv(args[0], (char* const*)args);

S23:将修改后编译得到的misc.img、recovery.img和其他分区img一起烧写到待测试PCBA板上,烧写完成并给PCBA板执行上电动作,则PCBA板会自动启动到recovery模式,并在recovery里自动调用运行pcba_test程序。

作为本发明的优选方案,所述S1包括:将实现PCBA功能测试的工具编译成可运行于目标Android设备的二进制可执行的程序,并打包到recovery根文件系统的sbin目录下。

作为本发明的优选方案,所述S3包括:PCBA测试程序运行后对PCBA各个功能模块进行逐一测试,当测试到其中一个功能模块失败时,会立即停止后续测试并上报测试失败的结果;当所有功能模块均测试通过,程序上报测试成功的结果。

作为本发明的优选方案,所述测试成功和所述测试失败的结果用PCBA上的LED三色灯标识,测试过程中保持绿灯长亮;测试结果失败红等保持长亮;测试结果成功则绿灯持续闪烁。

作为本发明的优选方案,所述测试过程中绿灯闪烁或者红灯保持长亮状态时,表示测试已经结束,将PCBA测试失败即PCBA板检出掉电进行检查维修,并重新上电进行pcba_test流程直到测试通过。

作为本发明的优选方案,所述测试结果成功则绿灯持续闪烁时,将PCBA测试通过的PCBA板检出,长按PCBA板上的power按键大于3s,pcba_test程序会在判断通过的前提下,检测到power按键的键值输入状态,当检测到有大于3s的键值输入时,则退出pcba_test测试,并调用finish_recovery执行退出recovery的操作,清空boot_message结构体中的command成员的值,然后调用reboot,则下次启动会默认进入正常的Android系统。

与现有技术相比,本发明的有益效果在于:采用在Android设备的备份功能recovery,通过PCBA上的LED的不同状态来标识测试结果,实现了在Android设备的功能测试过程中能快速、可靠地甄别PCBA功能模块的好坏,避免了不合规PCBA的不必要装机流程,提高了生产效率。

附图说明

图1为本发明实施例1所述的一种基于Android设备量产过程中测试PCBA的软件实现方法的流程图;

图2为本发明实施例1所述的一种基于Android设备量产过程中测试PCBA的软件实现方法的操作流程图;

图3为本发明实施例2所述的一种基于Android设备量产过程中测试PCBA的软件实现方法的PCBA测试流程图。

具体实施方式

下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。

实施例1

如图1和图2所示,一种基于Android设备量产过程中测试PCBA的软件实现方法,其特征在于,包括以下步骤:

S1:编译能够运行于recovery模式下的PCBA功能测试的程序;

将实现PCBA功能测试工具编译成能运行与目标Android设备的二进制能执行程序,并打包到recovery根文件系统的sbin目录下

S2:修改Android系统的默认启动模式,启动Android设备量产过程中的PCBA,并在recovery模式下实现PCBA功能测试程序的自动调用;

所述S2包括以下步骤:

S21:Bootloader通过读取MISC分区预先写入的Bootloader_message结构体的recovery字段,修改command[32]的值为boot_recovery,启动recovery模式;

S22:在Android源码recovery.cpp的main函数中添加对pcba_test程序的调用,使用如下函数:

const char *args[2];

args[0] = "/sbin/pcba_test";

args[1] = NULL;

execv(args[0], (char* const*)args);

S23:将修改后编译得到的misc.img、recovery.img和其他分区img一起烧写到待测试PCBA板上,烧写完成并给PCBA板执行上电动作,则PCBA板会自动启动到recovery模式,并在recovery里自动调用运行pcba_test程序,

S3:输出PCBA功能测试程序结果;

PCBA测试程序运行后对PCBA各个功能模块进行逐一测试,功能模块包括且不限于如下功能模块:DDR、EMMC、WIFI、BT、AUDIO,以及各种i2c设备等,当测试到其中一个功能模块失败时,会立即停止后续测试并上报测试失败的结果;当所有功能模块均测试通过,程序上报测试成功的结果。

测试结果的成功或者失败用PCBA上的LED三色灯标识,测试过程中保持绿灯长亮状态;测试结果失败红灯保持长亮状态;测试结果成功则绿灯持续闪烁。

所述测试过程中绿灯闪烁或者红灯保持长亮状态时,表示测试已经结束,将PCBA测试失败即PCBA板检出掉电进行检查维修,并重新上电进行pcba_test流程直到测试通过。

所述测试结果成功则绿灯持续闪烁时,将PCBA测试通过的PCBA板检出,长按PCBA板上的power按键大于3s,pcba_test程序会在判断通过的前提下,检测到power按键的键值输入状态,当检测到有大于3s的键值输入时,则退出pcba_test测试,并调用finish_recovery执行退出recovery的操作,清空boot_message结构体中的command成员的值,然后调用reboot,则下次启动会默认进入正常的Android系统。

将测试成功的PCBA组装成整机,整个PCBA测试流程结束。

采用上述技术方案,实现了在Android设备的功能测试过程中能快速、可靠地甄别PCBA功能模块的好坏,避免了不合规PCBA的不必要装机流程,提高了生产效率。

实施例2

如图2所示,首先执行PCBA测试程序;测试开始时,PCBA上的LED绿灯长亮;测试功能模块A,测试通过,执行下一步,测试未通过,则测试结束,PCBA上的LED红灯长亮,PCBA测试失败;测试功能模块B,测试通过,执行下一步,测试未通过,则测试结束,PCBA上的LED红灯长亮,PCBA测试失败;按照以上步骤测试到PCBA上的最后一个功能模块,测试通过,测试结束,LED绿灯闪烁,PCBA测试通过;反之,测试结束,LED红灯长亮,PCBA测试失败。

采用上述技术方案,实现了在Android设备的功能测试过程中能快速、可靠地甄别PCBA功能模块的好坏,避免了不合规PCBA的不必要装机流程,提高了生产效率。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于Android设备量产过程中测试PCBA的软件实现方法
  • 一种基于Android设备量产过程中测试PCBA的软件实现方法
技术分类

06120112943745