一种基于手机平台的动态调试关键参数的方法及系统的制作方法

文档序号:9452996阅读:256来源:国知局
一种基于手机平台的动态调试关键参数的方法及系统的制作方法
【技术领域】
[0001]本发明涉及手机调试技术领域,尤其涉及一种基于手机平台的动态调试关键参数的方法及系统。
【背景技术】
[0002]—般情况下在手机平台上,要验证某个关键参数有关的功能或bug,需要修改软件源码再重新编译打包后,下载到手机后再复现和验证问题。通过修改源码再编译后下载的调试软件方法,编译时间长,效率低,特别是在有些软件问题是在客户现场概率性出现时,没有源码或编译环境下,比较难复现和分析问题。

【发明内容】

[0003]鉴于上述问题,本申请记载了一种基于手机平台的动态调整关键参数的方法及系统,所述方法包括步骤:
[0004]S1:启动手机系统后,根据手机系统运行过程中出现的问题统计解决所述问题所需要调试的所述关键参数,对所述关键参数从I到η进行标号;
[0005]S2:打开编译文件,取标号为i的所述关键参数进行调试,其中i = I ;
[0006]S3:查找所述关键参数在所述编译文件中的位置;
[0007]S4:修改所述关键参数的值;
[0008]S5:下载所述编译文件到手机存储芯片中,重启手机后,判断所述问题是否复现,如果是,执行S6 ;否则,S8 ;
[0009]S6:判断所述关键参数的值是否达到预设关键参数值,如果是,执行S7 ;否则,执行S4 ;
[0010]S7:取标号为i+Ι的关键参数进行调试,执行步骤S3 ;
[0011 ] S8:确定所述关键参数的最终修改值;
[0012]其中,i为所述关键参数的标号,其中n,n为解决所述问题所需的所述关键参数的个数,i和η均为正整数。
[0013]较佳的,根据手机系统运行过程中出现的所述问题统计解决所述问题所需要调试的所述关键参数包括步骤:
[0014]将手机系统中用到的所有的所述关键参数定义为一个结构体,对所述结构体进行编译获取所述编译文件;
[0015]将所述编译文件存储在手机的存储芯片中。
[0016]较佳的,所述结构体包括结构体起始标识和结束标识,所述起始标识和所述结束标识之间为所述关键参数。
[0017]较佳的,所述关键参数包括DDR频率、cpu core电压、ADC校准参数等。
[0018]较佳的,根据所述关键参数在所述结构体中对应的位置查找所述关键参数在所述编译文件中的位置。
[0019]较佳的,修改所述关键参数的值的过程包括步骤:
[0020]对于标号为i的所述关键参数,在第N次对所述关键参数的值进行修改后所述关键参数的值为VO1+ Δ V1^N ;
[0021]其中,VO1S标号为i的所述关键参数的初始值,Λ V1为每次调节标号为i的所述关键参数的调节值步长,N为对标号为i的所述关键参数的值的修改次数;N为正整数。
[0022]较佳的,在确定所述关键参数的所述最终修改值之后还包括步骤:将所述最终修改值保存到所述编译文件中。
[0023]较佳的,用二进制编辑器打开所述编译文件。
[0024]本发明还提供了一种基于手机平台的动态调整关键参数的系统,所述系统包括:
[0025]统计标号模块,用以于启动手机系统后根据手机系统运行过程中出现的问题统计解决所述问题所需要调试的所述关键参数,并对所述关键参数从I到η进行标号;
[0026]调试模块,与所述统计标号模块相连,用以对所述关键参数进行调试;
[0027]查找模块,与所述调试模块相连,用以查找所述关键参数在所述编译文件中的位置;
[0028]修改模块,与所述查找模块相连,用以修改所述关键参数值;
[0029]第一判断模块,与所述修改模块相连,用以于所述编译文件下载到所述手机的存储芯片并重启所述手机后,判断所述问题是否复现;
[0030]第二判断模块,分别与所述第一判断模块、所述修改模块以及所述查找模块相连,用以判断所述关键参数的值是否达到预设关键参数值;
[0031]完成模块,与所述修改模块相连,用以确定所述关键参数的最终修改值;
[0032]其中,η为正整数。
[0033]上述技术方案具有如下优点或有益效果:手机系统中用到的关键参数定义为一个结构体,然后编译成image文件后,下载到手机flash中。当系统中出现和这些关键参数相关的问题时,通过二进制编辑器直接修改image文件中对应参数的值,再下载到手机的flash中,就可调试和分析问题。即通过该方法,不需要编译源代码,通过修改image 二进制文件中某些关键参数值,实现动态地快速调试问题。这种方法操作简单且效率高。
【附图说明】
[0034]参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
[0035]图1为本发明一种基于手机平台的动态调试关键参数的方法的流程图一;
[0036]图2为本发明一种基于手机平台的动态调试关键参数的方法的流程图二 ;
[0037]图3为本发明一种基于手机平台的动态调试关键参数的系统的结构示意图。
【具体实施方式】
[0038]下面结合附图和具体实施例对本发明基于手机平台的动态调试关键参数的方法及系统进行详细说明。
[0039]实施例一
[0040]如图1所示,一种基于手机平台的动态调试关键参数的方法,包括步骤:
[0041]S1:判断系统运行过程中出现的问题,统计解决所述系统的问题所需要调试的关键参数,令所述关键参数的标号i依次为1、2........n,其中i为关键参数的标号,其中
Ι^?^η,η为所需关键参数的个数,i和η均为正整数;
[0042]S2:打开编译文件,取标号为i的所述关键参数进行调试,其中i = I ;
[0043]S3:查找关键参数在所述编译文件中的位置;
[0044]S4:修改所述关键参数的值;
[0045]S5:判断系统运行过程中所需要解决的问题是否仍然复现,如果是,执行S6;否则,S8 ;
[0046]S6:判断关键参数的值是否能够达到预设关键参数值(所述预设关键参数值指的是所述关键参数的最大值或最小值),如果是,执行步骤S7 ;否则,执行步骤S4 ;
[0047]S7:取标号为i+Ι的关键参数进行调试,执行步骤S3 ;
[0048]S8:确定所述关键参数的值。
[0049]如图2所示,除此之外,在步骤SI之前所述方法还包括步骤:
[0050]SOl:将手机系统中用到的关键参数定义为一个特殊结构体,对所述结构体进行编译获取所述编译文件;
[0051]S02:将所述编译文件存储在存储芯片中。
[0052]具体来说,在动态调试关键参数的过程中,首先需要将手机系统用到的关键参数定义为一个特殊结构体。在实际应用中,所述关键参数包括DDR频率、cpu core电压以及ADC校准参数等,在bootloader源码文件中将这些关键参数同一定义为一个特殊结构体。根据关键参数的数量确定该结构体的大小,此外,在所述结构体中,第一个成员为起始标识,最后一个成员为结束标识,它们之间为所述关键参数。实际应用中,可以将结构体起始标识值设置为0xBCBC55AA,结构体结束标识值设置为0xEDEDAA55。在它们之间,均为所述关键参数。
[0053]定义了结构体后,在编译链脚本中指定这个结构体运行时的地址为sharedmemory某个固定地址空间,对该结构体进行编译以获取相应的image文件(即编译文件),并将其下载至手机的flash (存储芯片)中。启动系统时,所述编译文件就会从flash拷贝到shared memory某个固定地址,系统中任何代码都可以读取到这些关键参数值。
[0054]当系统运行过程中出现问题时,首先系统会判断并统计解决该问题所需要调试的关键参数,这里我们令所统计出的关键参数的为X1 (按照所述关键参数的标号对其进行命名),其中η,η为所需关键参数的个数,i和η均为正整数,即所统计出的关键参数为&、&........xn。确定了需要进行调试的关键参数后,打开编译文件。这里值得注意的是,通常采用二进制编辑器(如ultraedit)打开编译文件,即打开原始image 二进制文件。打开编译文件后,根据关键参数X1在所述结构体中的相对位置,找到其在编译文件中的位置。然后开始调试第一个关键参数X1,即修改关键参数X1的值。
[0055]在本实施例中,令关键参数X1的初始值为VO i,最大值为¥1^\最小值为Vmin i,每次调节关键参数Xi的调节值步长为Λ V1在调试关键参数Xi时,每次都将关键参数X i的值增加Λ V1,即修改关键参数X1的值为VO ,+ Δ VjN,其中N为对关键参数X1的修改次数,其为大于O的正整数。值得注意的是,关键参数X1修改后的值不能小于最小值且不能大于最大值Vmaxi,即关键参数Xi修改后的值仍需要在[VminhVmaxi]区间。
[0056]具体来说,在对关键参数X1的值,将其从VO i修改为VO !+ Δ V1,然后运行系统判断所需要解决的问题是否仍然复现。如果该问题仍然复现,则需要判断当前关键参数X1的值是否已经达到Vmax1,如果没有,就继续增大
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1