驱动程序调试方法及系统与流程

文档序号:12665618阅读:392来源:国知局
驱动程序调试方法及系统与流程

本发明涉及计算机技术领域,特别涉及驱动程序调试方法及系统。



背景技术:

设备驱动程序是一种允许操作系统与硬件交互的程序,它是一种直接工作在各种硬件设备上的软件,这种程序创建了一个硬件与硬件,或硬件与软件沟通的接口,正是通过驱动程序,各种硬件设备才能正常运行,达到既定的工作目标。

目前,随着电子技术的快速发展,手机、平板电脑等移动终端的应用日益广泛,应用于移动终端的硬件设备(如,触控屏、相机、传感器等)种类越来越多,与硬件设备对应的驱动程序也越来越重要。但是,在实现本发明的过程中,发明人发现现有技术至少存在如下缺陷:

在现有技术中,在测试与硬件设备对应的驱动程序时,常需要开发人员手动地去寻找驱动程序所涉及的文件,操作较为繁琐,人工成本较高。并且,驱动程序所涉及的文件很可能分散在整个项目工程代码的多个地方,不仅数量繁多,而且所在目录较深,不易查找,开发人员每次对驱动程序进行调试,修改文件内容时,都需要浪费较多的时间去定位文件所在位置,费时费力,且容易出错。



技术实现要素:

本发明实施方式的目的在于提供一种驱动程序调试方法及系统,尽可能地避免了开发人员手动地去寻找驱动程序所涉及的文件的情况,降低了人工成本,智能化程度较高。

为解决上述技术问题,本发明的实施方式提供了一种驱动程序调试方法,包括:

获取待调试的驱动程序所对应的项目名称以及项目路径;

检测项目路径下是否存在满足预设要求的N个目录文件;其中,预设要求为文件名称与预设的N个字符串中的某一字符串相匹配;N为大于2的整数;

如果项目路径下存在满足预设要求的N个目录文件,则获取各目录文件下,与项目名称相对应的文件夹内的工程配置文件,对工程配置文件中的内容进行调试。

本发明的实施方式还提供了一种驱动程序调试系统,包括:获取模块、检测模块以及调试模块;

获取模块用于获取待调试的驱动程序所对应的项目名称以及项目路径;

检测模块用于根据获取模块获取到的项目路径,检测项目路径下是否存在满足预设要求的N个目录文件;其中,预设要求为文件名称与预设的N个字符串中的某一字符串相匹配;N为大于2的整数;

调试模块用于在检测模块检测到项目路径下存在满足预设要求的N个目录文件时,获取各目录文件下,与获取模块获取到项目名称相对应的文件夹内的工程配置文件,对工程配置文件中的内容进行调试。

本发明实施方式相对于现有技术而言,驱动程序调试系统能够在获取待调试的驱动程序所对应的项目名称以及项目路径的情况下,对项目路径下是否存在满足预设要求的N个目录文件进行检测,以便于对项目路径是否正确进行认证。其中,预设要求为文件名称与预设的N个字符串中的某一字符串相匹配;N为大于2的整数。如果项目路径下存在满足条件的N个目录文件,则说明项目路径是正确的,此时,驱动程序调试系统便会根据项目名称自动地查找到驱动程序所对应的文件夹内的工程配置文件,对工程配置文件中的内容进行调试,从而尽可能地避免了开发人员手动地去寻找驱动程序所涉及的文件的情况,降低了人工成本,智能化程度较高。

另外,获取各目录文件下,与项目名称相对应的文件夹内的工程配置文件,具体包括:获取目录文件下,文件夹名称为项目名称的文件夹内,文件名称包括Config字符串的文件。这样,提供了获取工程配置文件的一种具体实现形式,增加了本发明实施方式的可行性。

另外,对工程配置文件中的内容进行调试,具体包括:检测获取的文件名称包括Config字符串的文件的个数是否大于1;如果个数大于1,则随机选取一文件名称包括Config字符串的文件,对文件中的内容进行调试,并保存调试信息;将调试信息同步至获取的各文件名称包括Config字符串的文件的内容中,从而不需要一个个的对各工程配置文件进行调试,调试效率较高,不会遗漏,且不易出错。

另外,N为3;预设的N个字符串为:device、kernel、vendor。这样,通过对项目路径下是否存在项目全局配置文件(device文件)、操作系统内核文件(kernel文件)以及平台厂商客制化文件(vendor文件)进行检测的方式,对项目路径是否正确进行验证,操作较为简便,且可行性较高。

另外,对工程配置文件中的内容进行调试后,还包括:检测目录文件的文件名称是否为device;如果目录文件的文件名称不为device,则获取目录文件下,平台厂家文件夹内的驱动文件,对驱动文件中的内容进行调试。通过这种方式,驱动程序调试系统还能够对操作系统内核文件以及平台厂商客制化文件下的驱动文件进行调试,进一步地避免了开发人员手动地去寻找驱动程序所涉及的文件的情况,有效地提升了驱动程序调试系统的智能化程度。

另外,获取目录文件下,平台厂家文件夹内的驱动文件,具体包括:检测目录文件下,平台厂家文件夹内是否存在文件夹名称为项目名称的文件夹;如果平台厂家文件夹内存在文件夹名称为项目名称的文件夹,则获取文件夹名称为项目名称的文件夹内的驱动文件;如果平台厂家文件夹内不存在文件夹名称为项目名称的文件夹,则获取待调试的驱动程序所对应的平台名称,并获取文件夹名称为平台名称的文件夹内的驱动文件。这样,从而能够确保在平台厂家文件夹内不存在文件夹名称为项目名称的文件夹时,驱动程序调试系统依然能够查找到平台厂家文件夹内的驱动文件,增加了本发明实施方式的可行性。

附图说明

图1是根据本发明第一实施方式中驱动程序调试方法的流程图;

图2是根据本发明第二实施方式中驱动程序调试方法的流程图;

图3是根据本发明第三实施方式中驱动程序调试系统的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种驱动程序调试方法,具体流程如图1所示。本实施方式可以在驱动程序调试系统的基础上进行实施,步骤如下:

步骤101,获取待调试的驱动程序所对应的项目名称以及项目路径。

具体地说,开发人员可以将待调试的驱动程序所对应的项目名称以及项目路径输入至驱动程序调试系统中,以便于驱动程序调试系统获取待调试的驱动程序所对应的项目名称以及项目路径。以下以M1612项目camera驱动程序为例进行说明:如,待调试的驱动程序的项目名称为M1612、项目路径为Y://project/z193_1202。

步骤102,检测项目路径下是否存在满足预设要求的N个目录文件。若检测结果为是,则执行步骤103,否则执行步骤101。

具体地说,预设要求为文件名称与预设的N个字符串中的某一字符串相匹配,其中,N为大于2的整数。本实施方式中,N为3。预设的N个字符串为:device、kernel、vendor。

更具体地说,由于正确的项目路径下,是同时存在项目全局配置文件(device文件)、操作系统内核文件(kernel文件)以及平台厂商客制化文件(vendor文件)的,因此根据这一特点,本实施方式中,驱动程序调试系统在获取项目路径下,通过检测是否存在满足预设要求的N个目录文件的方式,对项目路径下是否存在项目全局配置文件(device文件)、操作系统内核文件(kernel文件)以及平台厂商客制化文件(vendor文件)进行检测,以便于对项目路径是否正确进行验证,操作较为简便,且可行性较高。

本实施方式中,驱动程序调试系统在检测到项目路径下存在文件名称包含kernel字样目录文件时,还返回该目录文件的全名,以进行记录。这样,在下次调试时,便可以直接根据记录的该目录文件的全名进行查找,较为准确快捷。

步骤103,获取各目录文件下,与项目名称相对应的文件夹内的工程配置文件,对工程配置文件中的内容进行调试。

具体地说,工程配置文件的命名方式一般都包含Config字符串的,如,文件名称为ProjectConfig的文件、文件名称为Config的文件等。因此,驱动程序调试系统可以通过获取目录文件下,文件夹名称为项目名称的文件夹内,文件名称包括Config字符串的文件的方式,获取工程配置文件。如,待调试的驱动程序的项目名称为M1612、项目路径为Y://project/z193_1202,则驱动程序调试系统可以在Y://project/z193_1202下,分别获取项目全局配置文件、操作系统内核文件以及平台厂商客制化文件中,文件夹名称为M1612的文件夹内,文件名称包括Config字符串的文件。

更具体地说,由于项目全局配置文件、操作系统内核文件或者平台厂商客制化文件下,可能存在有多个工程配置文件,而这些工程配置文件都是需要进行调试的。因此,驱动程序调试系统在对工程配置文件中的内容进行调试时,还可以检测获取的文件名称包括Config字符串的文件的个数是否大于1。如果个数大于1,则随机选取一文件名称包括Config字符串的文件,对文件中的内容进行调试,并保存调试信息,而后,驱动程序调试系统将调试信息同步至获取的各文件名称包括Config字符串的文件的内容中,从而不需要一个个的对各工程配置文件进行调试,调试效率较高,不会遗漏,且不易出错。

与现有技术相比,本实施方式中,驱动程序调试系统能够根据获取到的项目名称以及项目路径,自动地查找到驱动程序所对应的文件夹内的工程配置文件,对工程配置文件中的内容进行调试,尽可能地避免了开发人员手动地去寻找驱动程序所涉及的文件的情况,降低了人工成本,智能化程度较高。

本发明的第二实施方式涉及一种驱动程序调试方法,具体流程如图2所示。第二实施方式在第一实施方式的基础上加以改进,主要改进之处在于:在本发明第二实施方式中,驱动程序调试系统还对驱动程序所对应的驱动文件进行调试,进一步地避免了开发人员手动地去寻找驱动程序所涉及的文件的情况,有效地提升了驱动程序调试系统的智能化程度。以下进行具体说明:

本实施方式中,步骤201至步骤203与第一实施方式中步骤101至步骤103大致相同,为避免重复,在此不再赘述,以下对不同部分进行说明:

步骤204,检测目录文件的文件名称是否为device。若检测结果为是,则结束本流程,否则执行步骤205。

具体地说,驱动程序调试系统对目录文件的文件名称是否为device进行检测,以获取操作系统内核文件以及平台厂商客制化文件。

步骤205,获取目录文件下,平台厂家文件夹内的驱动文件,对驱动文件中的内容进行调试。

具体地说,平台厂家文件夹内的驱动文件所在的文件夹可能是以项目名称进行命名的,也可能是以平台名称进行命名的,而以项目名称所建立的文件夹的优先级是高于以平台名称所建立的文件夹的,因此,驱动程序调试系统在获取目录文件下,平台厂家文件夹内的驱动文件时,可以检测目录文件下,平台厂家文件夹内是否存在文件夹名称为项目名称的文件夹。如果平台厂家文件夹内存在文件夹名称为项目名称的文件夹,则对文件夹名称为项目名称的文件夹中的内容进行调试。如果平台厂家文件夹内不存在文件夹名称为项目名称的文件夹,则获取待调试的驱动程序所对应的平台名称,对文件夹名称为平台名称的文件夹中的内容进行调试。这样,从而能够确保在平台厂家文件夹内不存在文件夹名称为项目名称的文件夹时,驱动程序调试系统依然能够查找到平台厂家文件夹内的驱动文件,可行性较高。其中,待调试的驱动程序所对应的平台名称可以由开发人员输入至驱动程序调试系统中。

以下以M1612项目camera驱动程序,目录文件为操作系统内核文件为例进行说明:

如,在操作系统内核文件下,平台厂家文件夹内的驱动文件所在的文件夹为src文件夹。这样,驱动程序调试系统首先会判断src文件夹下是否有文件夹名称为M1612的文件夹,如果有文件夹名称为M1612的文件夹,驱动程序调试系统就对src文件夹下,文件夹名称为M1612的文件夹中的内容进行调试;如果没有文件夹名称为M1612的文件夹的话,驱动程序调试系统就根据待调试的驱动程序所对应的平台名称,如平台名称为mt6755,对文件夹名称为mt6755的文件夹中的内容进行调试。

更具体地说,由于以平台名称进行命名的文件夹,大多是以“mt”为开头的文件夹,因此,驱动程序调试系统也可以不用获取待调试的驱动程序所对应的平台名称。如,在获取目录文件下,平台厂家文件夹内的驱动文件,对驱动文件中的内容进行调试时,驱动程序调试系统直接对目录文件下,平台厂家文件夹内是否存在文件夹名称为项目名称的文件夹进行检测,在检测到平台厂家文件夹内存在文件夹名称为项目名称的文件夹时,对文件夹名称为项目名称的文件夹中的内容进行调试;在检测到平台厂家文件夹内不存在文件夹名称为项目名称的文件夹时,获取所有的文件名称以“mt”为开头的文件夹,并显示,以便于开发人员进行选择,令驱动程序调试系统获取正确的驱动文件。本实施方式中,并不对获取目录文件下,平台厂家文件夹内的驱动文件的具体实现形式做任何限定。

与现有技术相比,本实施方式中:驱动程序调试系统还能够对操作系统内核文件以及平台厂商客制化文件下的驱动文件进行调试,进一步地避免了开发人员手动地去寻找驱动程序所涉及的文件的情况,有效地提升了驱动程序调试系统的智能化程度。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种驱动程序调试系统,如图3所示,包括:获取模块1、检测模块2以及调试模块3。

获取模块1用于获取待调试的驱动程序所对应的项目名称以及项目路径。

具体地说,开发人员可以将待调试的驱动程序所对应的项目名称以及项目路径输入至获取模块1中,以便于获取模块1获取待调试的驱动程序所对应的项目名称以及项目路径。以下以M1612项目camera驱动程序为例进行说明:如,待调试的驱动程序的项目名称为M1612、项目路径为Y://project/z193_1202。

检测模块2用于根据获取模块1获取到的项目路径,检测项目路径下是否存在满足预设要求的N个目录文件。

具体地说,预设要求为文件名称与预设的N个字符串中的某一字符串相匹配,其中,N为大于2的整数。本实施方式中,N为3。预设的N个字符串为:device、kernel、vendor。

更具体地说,由于正确的项目路径下,是同时存在项目全局配置文件(device文件)、操作系统内核文件(kernel文件)以及平台厂商客制化文件(vendor文件)的,因此根据这一特点,本实施方式中,检测模块2在获取模块1获取项目路径下,通过检测是否存在满足预设要求的N个目录文件的方式,对项目路径下是否存在项目全局配置文件(device文件)、操作系统内核文件(kernel文件)以及平台厂商客制化文件(vendor文件)进行检测,以便于对项目路径是否正确进行验证,操作较为简便,且可行性较高。

本实施方式中,检测模块2在检测到项目路径下存在文件名称包含kernel字样目录文件时,还返回该目录文件的全名,以进行记录。这样,在下次调试时,便可以直接根据记录的该目录文件的全名进行查找,较为准确快捷。

调试模块3用于在检测模块2检测到项目路径下存在满足预设要求的N个目录文件时,获取各目录文件下,与获取模块1获取到项目名称相对应的文件夹内的工程配置文件,对工程配置文件中的内容进行调试。

具体地说,工程配置文件的命名方式一般都包含Config字符串的,如,文件名称为ProjectConfig的文件、文件名称为Config的文件等。因此,调试模块3可以通过获取目录文件下,文件夹名称为项目名称的文件夹内,文件名称包括Config字符串的文件的方式,获取工程配置文件。如,待调试的驱动程序的项目名称为M1612、项目路径为Y://project/z193_1202,则驱动程序调试系统可以在Y://project/z193_1202下,分别获取项目全局配置文件、操作系统内核文件以及平台厂商客制化文件中,文件夹名称为M1612的文件夹内,文件名称包括Config字符串的文件。

更具体地说,由于项目全局配置文件、操作系统内核文件或者平台厂商客制化文件下,可能存在有多个工程配置文件,而这些工程配置文件都是需要进行调试的。因此,本实施方式中,调试模块3包括:判断子模块、处理子模块以及同步子模块。判断子模块用于检测获取的文件名称包括Config字符串的文件的个数是否大于1;处理子模块用于在检测子模块检测到个数大于1时,随机选取一文件名称包括Config字符串的文件进行调试,并保存调试信息;同步子模块用于将处理子模块保存的调试信息,将调试信息同步至获取的各文件名称包括Config字符串的文件中。这样,从而不需要一个个的对各工程配置文件进行调试,调试效率较高,不会遗漏,且不易出错。

不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1