一种基于安卓平台工程模式的快速安卓整机功能检测方法

文档序号:6635527阅读:198来源:国知局
一种基于安卓平台工程模式的快速安卓整机功能检测方法【专利摘要】本发明涉及安卓设备生产测试领域,尤其涉及一种基于安卓平台工程模式的快速安卓整机功能检测方法,包括如下步骤:a.在引导加载程序Bootloader中添加新的工程模式启动条件,使在插入包含特定文件夹的TF卡并启动安卓平台时,能直接进入工程模式;b.在安卓代码中添加测试软件代码,并修改build/core/Makefile,使在编译镜像时,测试软件被拷贝至recovery镜像中;c.在bootable/recovery/recovery.cpp中添加测试软件的运行条件。本发明方法可以在不烧录完整产品软件固件的情况下、在工程模式中对安卓平台的基本硬件功能进行测试。【专利说明】一种基于安卓平台工程模式的快速安卓整机功能检测方法【
技术领域
】[0001]本发明涉及安卓设备生产测试领域,尤其涉及一种基于安卓平台工程模式的快速安卓整机功能检测方法,可以在不烧录完整产品软件固件的情况下对安卓平台的基本硬件功能进行测试。【
背景技术
】[0002]目前,公知的安卓平台整机功能检测普遍在整机组装完成后,烧录完整的产品软件固件,然后通过在应用层开发各类的测试软件进行实现。完整的产品软件固件一般包括引导加载程序(Bootloader),内核(Kernel),系统镜像(system,img)等,其中以系统镜像体积最大,烧录时间最长,启动时花费的时间也最长。这样的测试流程存在着以下问题:1、进入测试花费时间较长,完整固件的烧录和第一次系统的启动都需要话花费大量的时间,一般情况下每台安卓设备都需要五分钟左右的时间才能进入系统,开始进行测试。[0003]2、与PCB板板测完全独立,在不做PCB板板测的情况下,无法确认是硬件问题还是软件问题,后续需要重走的测试流程更长。[0004]这些因素都不利于产线效率的提高,现有技术还有待于改进和发展。【
发明内容】[0005]鉴于上述已有技术的不足,本发明的目的在于提供种基于安卓平台工程模式的快速安卓整机功能检测方法。[0006]本发明的具体技术方案如下:一种基于安卓平台工程模式的快速安卓整机功能检测方法,包括如下步骤:a.在引导加载程序Bootloader中添加新的工程模式启动条件;b.在安卓代码中添加测试软件代码,并修改build/core/Makefile,将编译生成的测试软件拷贝至recovery镜像中;c.在bootable/recovery/recovery.cpp中添加测试软件的运行条件。[0007]至此,只要满足上述步骤中的启动条件,通过TF烧录引导加载程序、内核、recovery镜像就能运行测试软件,不需要system镜像的烧录。[0008]进一步的,为满足测试及显示功能,测试软件还可包含以下步骤:d.搭建测试软件的显示系统:在安卓工程模式的UI显示系统的基础上,添加了划线、区域填充色、中文字库等功能,能够更直观、更友好的展现安卓设备的测试状况。[0009]e.配置各硬件模块的工作环境:安卓各硬件模块的正常工作,需要内核的正常运行。但是并不是所有硬件模块对应的内核模块文件是在内核启动时加载的。在测试软件中确保所有需要测试的内核模块文件已加载,使安卓设备在只烧录引导加载程序、内核、recovery镜像的情况下,就能够使各硬件模块正常的工作并发送信息。[0010]f.集成信息处理机制:在安卓系统中,硬件抽象层(HAL层)会对内核发送的对外部事件的响应进行处理。将硬件抽象层中对的信息处理机制移植到软件中,就能对各硬件模块上报的信息进行处理,并将处理结果显示在显示界面上。[0011]有益效果:1、本发明大大减少了测试需要的时间。在传统的测试工程中,软件固件烧录和首次开机往往会需要五分钟,而运用本方法只需要10秒左右就可以进入测试模式,同时在30秒至I分钟的时间内进行完所有测试。[0012]2、本发明不涉应用层的软件,测试过程中只涉及内核代码及PCB硬件,在测试报错时一般都可直接认为是PCB板的问题。【专利附图】【附图说明】[0013]图1为重新构建后的的安卓设备启动流程图。[0014]图2为本发明在产线上使用时的操作流程图。[0015]图3为本发明在具体实施过程中的参考界面图。[0016]图4为本发明的测试项配置文件参考图。【具体实施方式】[0017]一种基于安卓平台工程模式的快速安卓整机功能检测方法,(I)文件架构:文件架构的建立包括以下几个步骤:a.参考bootable/recovery目录,建立bootable/pcbtest目录,将bootable/recovery/minui目录拷贝至bootable/pcbtest目录下,加入中文字库和一些基本的绘图函数,并集成camera的库函数,建立测试软件的显示界面。[0018]b.新建bootable/pcbtest/PcbTest.cpp文件,调用minui,并将测试界面初步划分为四块区域,分别放置不同类型的测试项,参见图1。加入对TF卡中pcbtest.config文本文件的检测。其中pcbtest.config文本文件内容如图2所示。对于每个pcbtest.config文本文件中标“I”,表示需要测试的测试项,新建相应的结构体。[0019]c.处理信息的方式,引入硬件抽象层的信息处理机制,用以处理在测试过程中内核传递过来的所有有用信息。内核传递过来的信息包括event、uevent,其本质是内核发送一个包含设备名称和设备状态等信息的特定格式字符串。[0020]1.处理event信息的文件包括frameworks/base/services/input目录下的EventHub.cpp、InputReader.cpp等文件,能够处理触摸屏、G-sensor、按键等发送的信息。[0021]2.处理uevent的文件包括system/core/libsysutils目录下的NetIinkHandler.cpp、UeventObserver.cpp等文件,能够处理内部存储、电池、电源、USB等发送的信息。[0022]3.对于W1-F1、HDM1、CVBS等测试,或采用脚本读取、或直接通过1CTL(设备驱动程序中对设备的I/o通道进行管理的函数)来判断状态、或直接读取系统参数,获得需要的数据。[0023]在处理完所有信息后,软件将接受到的信息中有用的分量分离并根据设备名称及数据类型,调用对应设备的检测函数,最终验证各模块是否能正常工作。[0024]d.修该bootable/pcbtest/Android.mk,使在最后编译过程中生成pcbtest。[0025]e.修改build/core/Makefile,将pcbtest拷贝至recovery镜像中。[0026](2)测试启动流程修改启动流程修改主要有两部分。[0027]a.开机时启动流程的修改:当安卓设备被上电后,引导加载程序首先被CPU调用执行,在引导加载程序中,系统将判断安卓的启动模式。[0028]安卓系统默认的启动模式有三种:一种是同时按下电源键(Power)和音量加键(Vol+)启动FastBoot模式,该模式是使用工具进行刷机的线刷模式。另一种是同时按下电源键(Power)和音量减键(Vol-)启动工程模式,该模式可是实现恢复出厂设置、系统固件升级等操作。第三种是按下电源键正常开机。[0029]因某些安卓设备上没有音量加减按键(如机顶盒类的产品及某些平板设备),因此上述安卓系统默认的启动。模式不足以满足开发、测试、生产的需求,所以添加了TF卡插入并检测TF中的特定文件夹(D0CUMENT_REC0VERY),把该事件作为一个按键事件处理。[0030]b.进入工程模式后流程的修改:在进入工程模式时,系统将通过各个方式读取操作内容,来进行诸如恢复出厂、安装升级包等操作。[0031]本发明在工程模式下,读取操作内容前,检测TF卡中D0CUMENT_TEST文件夹是否存在。当D0CUMENT_TEST文件夹存在时,直接调用pcbtest进入测试模式。当D0CUMENT_TEST文件夹不存在时,系统将继续读取操作内容,进行后续操作。[0032](3)本发明的运行流程:参阅图3,其为本发明的运行流程。[0033]步骤S1、将等待测试的安卓设备上电,转至步骤S2。[0034]步骤S2、引导加载程序首先被CPU调用执行,初始化硬件设备、建立内存空间映射图,转至步骤S3。[0035]步骤S3、检测TF卡,若TF卡存在存在,并且TF卡下有D0CUMENT_REC0VERY文件夹,转至步骤S4,否则转至步骤S10。[0036]步骤S4、加载内核,转至步骤S5。[0037]步骤S5、进入工程模式,转至步骤S6。[0038]步骤S6、在工程模式的main函数开始时,检测TF卡,若TF卡存在存在,并且TF卡下有D0CUMENT_TEST文件夹,转至步骤S7,否则转至步骤S9。[0039]步骤S7、读取TF卡中D0CUMENT_TEST文件夹下pcbtest.config文件的内容,根据其内容确定当前安卓设备需要的测试项,转至步骤S8。[0040]步骤S8、调用pcbtest,进入pcbtest测试界面,测试人员可以开始测试相应的测试项,流程结束。[0041]步骤S9、系统开始读取工程模式运行命令,处理相应时间,流程结束。[0042]步骤S10、加载内核,转至步骤S11。[0043]步骤S11、进入安卓系统,流程结束。[0044]以触摸屏测试为例。在启动内核时加载触摸屏驱动,进入测试界面后,测试人员点击触摸屏,驱动上报event信息,通过EventHub处理上报信息,传递给InputReader,cpp进行参数分析,最终将上报的数据中的触屏点的坐标点传递给划线的函数啊,若测试人员可以通过手指在触摸屏上移动产生划线的效果,表明触摸屏工作正常。[0045](4)产线上的测试流程:图4所示为本发明的产线测试流程。[0046]步骤S13、准备一张FAT32格式的空白TF卡。[0047]步骤S14、在TF卡中新建文件夹D0CUMENT_REC0VERY,D0CUMENT_TEST。[0048]步骤S15、将安卓设备对应的引导加载程序、内核、recovery镜像拷贝至D0CUMENT_REC0VERY文件夹中。[0049]步骤S16、将安卓设备可能需要的模块驱动、测试过程中需要播放的音视频文件与对应需要测试的pcbtest.config文件拷贝至D0CUMENT_TEST文件夹中。至此测试需要的TF卡制作完毕,一张TF卡可以在同一款安卓设备上重复使用。[0050]步骤S17、将TF卡插入安卓设备卡槽。[0051]步骤S18、给安卓设备上电。[0052]步骤S19、大约等待10秒,安卓设备显示测试界面。[0053]步骤S20、测试人员对屏幕上显示的所有测试项逐一开始测试。[0054]步骤S21、所有测试项测试完成后,测试人员记录屏幕上显示的测试结果,将安卓设备下电。[0055]步骤S22、测试完毕,确认该安卓设备硬件是否存在问题。测试人员将TF卡拔出后,可重复S17-S22对下一台安卓设备进行测试。[0056](5)推荐工位安排:为减少工序中的装夹次数,常采用回转工作台或回转夹具,使工件在一次安装中,可先后在机床上占有不同的位置进行连续加工,每一个位置所完成的那部分工序,称一个工位。[0057]本发明在产线上的使用:当需要测试需要连接HDM1、CVBS,SPDIF等需要外部设备时,一般推荐两个工位,第一个工位负责烧录并检测所有不需要外部设备的测试项,第二个工位负责HDM1、CVBS,SPDIF等需要外部测试设备的测试项并统计最后结果。若不需要测试HDM1、CVBS、SH)IF等需要外部测试设备,则可以只安排一个工位,负责所有测试步骤。[0058](6)本发明已实现的测试项如下:1.TF卡检测:主要测试卡槽是否安装良好,能否正常识别TF卡。[0059]2.USB口检测:主要测试卡槽是否安装良好,能否正常识别U盘。[0060]3.1XD检测:主要测试RGB三色是否显示正常,屏幕是否有坏块。[0061]4.G-sensor检测:主要测试G-sensor能否正常判断安卓设备当前的放置状态。[0062]5.内存检测:主要测试内存是否能读写及识别的大小是否和规格相符。[0063]6.HDMI检测:主要测试安卓设备连接HDMI设备后视频音频信号能否正常投射。[0064]7.CVBS检测:主要测试安卓设备连接CVBS设备后视频音频信号能否正常投射。[0065]8.触摸屏检测:主要测试触摸屏能否正常报点。[0066]9.W1-Fi检测:主要测试W1-Fi能否正常工作,通过检测当前能搜索要的AP数来检测W1-FI的一部分性能。[0067]10.以太网检测:主要测试安卓设备是否能连接以太网。[0068]11.按键检测:主要测试安卓设备各个按键是否都有响应。[0069]12.红外接收器检测:主要测试是否能通过安卓设备对应支持的遥控器进行操作。[0070]13.RTC检测:主要测试安卓设备的时钟是否能正常工作。[0071]14.Nand检测:主要测试Nand是否能读写及识别的大小是否和规格相符。15.SPDIF检测:主要测试安卓设备连接SPDIF设备后视频音频能否正常播放。[0072]16.音频检测:主要测试安卓设备能否支持录音和放音的功能。[0073]17.前后摄像头检测:主要测试前后摄像头能否正常显示预览画面并切换。[0074]图1为本发明测试参考界面图。[0075]如图所示:除了左下角区域2显示的测试项外,所有测试项都由系统自动运行生成测试结果,测试人员只需要对左下角显示的测试项做针对性操作。如按键测试,按下安卓设备上的所有按键,测试界面就会显示“按键测试:通过”的字样。[0076]左上角区域I显示的测试项为自动测试项,由系统自动运行5至10秒内生成测试结果并将测试结果显示在界面上。[0077]右上角区域3为摄像头的预览区域,测试人员能观察到摄像头的动态画面,并通过点击触摸屏切换前后摄像头。[0078]右下角区域4为RGB三色图显示区域,显示红绿蓝三色条。[0079](7)本发明同时具备如下性能:1.可扩展性:该方法具有良好的可扩展性,可以方便的添加新的测试项,降低开发、维护成本。[0080]测试速度快:流水线生产对每个工位完成工作所用的时间有较高的要求,该测试只需消耗一到两个工位,每个工位一分钟以内的时间,保证了流水线的效率。[0081]测试精度高:工具流程较为完善,保证了测试的精度。[0082]可更改的配置项:因安卓设备上集成的模块不同,需要的测试项也会做相应调整。本发明可通过修改配置文件,适应各个不同安卓设备的测试需求。[0083]基本依靠设备自身的功能完成测试:本发明在测试过程中基本依靠设备自身(除HDMI,CVBS,SPDIF等测试),避免了新设备购入、学习使用带来的采购成本和人力培训成本的增加。[0084](8)本发明的应用现状本发明已成功的用于安卓平板等设备上,且已通过了产线的验证。与传统方法相比,本发明方法具有镜像体积小,烧录启动时间短、测试功能完备、可扩展性强、操作简单、测试流程自动化等特点,旨在缩短广线测试时间,提闻最终广品的良率及提闻测试效率。【权利要求】1.一种基于安卓平台工程模式的快速安卓整机功能检测方法,包括如下步骤:a.在引导加载程序Bootloader中添加新的工程模式启动条件,使在插入包含特定文件夹的TF卡并启动安卓平台时,能直接进入工程模式;b.在安卓代码中添加测试软件代码,并修改build/core/Makefile,使在编译镜像时,测试软件被拷贝至recovery镜像中;c.在bootable/recovery/recovery.cpp中添加测试软件的运行条件。2.根据权利要求1所述的一种基于安卓平台工程模式的快速安卓整机功能检测方法,其特征在于,还包括步骤:d.搭建测试软件的显示系统:在安卓工程模式显示系统的基础上,添加对划线、区域填充色、中文字库功能的支持。3.根据权利要求1或2所述的一种基于安卓平台工程模式的快速安卓整机功能检测方法,其特征在于,还包括步骤:e.配置各硬件模块的工作环境,在测试软件中确保所有需要测试的内核模块文件已加载,使安卓设备在只烧录引导加载程序、内核、recovery镜像的情况下,各硬件模块正常的工作并发送信息。4.根据权利要求1或2所述的一种基于安卓平台工程模式的快速安卓整机功能检测方法,其特征在于,还包括步骤:f.集成信息处理机制:将硬件抽象层中对的信息处理机制移植到软件中,对各硬件模块上报的信息进行处理,并将处理结果显示在显示界面上。5.根据权利要求3所述的一种基于安卓平台工程模式的快速安卓整机功能检测方法,其特征在于,还包括步骤:f.集成信息处理机制:将硬件抽象层中对的信息处理机制移植到软件中,对各硬件模块上报的信息进行处理,并将处理结果显示在显示界面上。【文档编号】G06F11/22GK104375911SQ201410681378【公开日】2015年2月25日申请日期:2014年11月24日优先权日:2014年11月24日【发明者】朱逸龙,赵彬,包乔晋,王海波申请人:上海盈方微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1